解析XML Libxmljs(Node.js)

时间:2010-11-16 03:24:16

标签: xml node.js libxml2 xml-parsing

我正在尝试使用libxmljs (https://github.com/polotek/libxmljs)解析XML字符串。我有一些问题。我需要将逻辑应用于我正在解析的内容,并根据定义的内容和不定义的内容返回。因此,我没有看到SAX样式的解析器是有效的选项。

如果我能实现我正在寻找的目标,我愿意考虑其他选择。能够选择像DOMParser xmlDoc.getElementsById('firstName')[0].childNodes[0].nodeValue这样的元素会很棒......

1 个答案:

答案 0 :(得分:17)

libxmljs支持DOM以及SAX样式解析。

var xmlDoc = libxmljs.parseXmlString('<item><data id="firstName">Your Name</data></item>');
var xmlDoc2 = libxmljs.parseXmlFile('mydata.xml');

API是自定义的,不遵循W3C /浏览器规范(它在我的列表中)。您将需要使用xpath在文档中查询所需的内容。

xmlDoc.find("//[@id='firstName']")[0].childNodes()[0].text()

请注意,childNodes和text是函数调用。看看文档。

https://github.com/polotek/libxmljs/wiki/Element

据我所知,libxmljs和jsdom是两个具有良好DOM实现的库。