解析XML Libxmljs(Node.js)

A W*_* It 10 xml libxml2 node.js xml-parsing

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

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

Mar*_*rco 17

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

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

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

xmlDoc.find("//[@id='firstName']")[0].childNodes()[0].text()
Run Code Online (Sandbox Code Playgroud)

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

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

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