已经有许多问题已经问如何编写XML解析器,主要用于网站或其它应用程序..技术用于在JavaScript编写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页),是容易发生变化的,有没有更好的方式来写这样的情况下,解析器?
是否有可能制作所有可能节点的数组并循环遍历,而不是硬编码所有内容。这会更有效率吗?
在其他语言中有许多解析器,例如java和python,但似乎没有用于制作Web应用程序的客户端脚本端(我不想制作java servlet)。它是否在你的研究领域? – Sycren 2011-02-10 17:26:22
在这种情况下,我不认为我希望浏览器为我做这件事,我希望让应用程序接受多个sbml文件,而不仅仅是一般情况。当你设计CML时,你是否也为它创建了一个解析器?你介意我发给你一封电子邮件吗? – Sycren 2011-02-10 19:17:33