已经有很多关于如何编写 xml 解析器的问题,主要用于网站或其他应用程序。
还有其他已证明有用的教程,包括:
http://www.switchonthecode.com/tutorials/xml-parsing-with-jquery
但是,我正在尝试为文件格式 sbml(系统生物学标记语言)编写解析器:
规格 - http://sbml.org/Documents/Specifications
我一直在尝试对解析器进行硬编码,虽然它适用于我的情况,但它不适用于每个部分。
$(document).ready(function()
{
//alert("In function");
$.ajax({
type: "GET",
url: "sbml.xml",
dataType: "xml",
success: parseXml
});
});
function parseXml(xml) {
//alert("Xml loaded");
$("#output").append("Output loaded <br />" );
$(xml).find("model").each(function() {
$("#output").append("Found model <br />" );
//alert("Found model");
//alert($(this).attr("id"));
$(xml).find("listOfCompartments").each(function() {
//alert("Found list of compartments");
$("#output").append("List of Compartments found <br />" );
$.each($(this).children(), function() {
var id = $(this).attr("id");
var size = $(this).attr("size");
//alert("Id: " + id + ", Size: " + size);
$("#output").append("Compartment <br />" );
$("#output").append("Id: " + id + ", Size: " + size + "<br />");
});
});
});
}
由于规范相当大(8 页)并且容易更改,有没有更好的方法来为这种情况编写解析器?
是否有可能制作所有可能节点的数组并循环而不是硬编码所有内容。这会更有效率吗?