我正试图用libxmljs (https://github.com/polotek/libxmljs)解析一个XML字符串。不过,我有些问题。我需要将逻辑应用于我正在分析的内容,并根据定义的内容和不定义的内容返回。因此,我认为SAX样式的分析器不是一个有效的选项。
如果我能达到我想要的目标,我愿意考虑其他的选择。能够选择像domparserxmlDoc.getElementsById('firstName')[0].childNodes[0].nodeValue
这样的元素是非常棒的…
最佳答案
libxmljs支持DOM和SAX风格的解析。
var xmlDoc = libxmljs.parseXmlString('<item><data id="firstName">Your Name</data></item>');
var xmlDoc2 = libxmljs.parseXmlFile('mydata.xml');
API是自定义的,不遵循W3C/Browser规范(它在我的列表中)。您将希望使用xpath查询文档中所需内容。
xmlDoc.find("//[@id='firstName']")[0].childNodes()[0].text()
请注意,childnodes和文本是函数调用。看一下这些文件。
https://github.com/polotek/libxmljs/wiki/Element
据我所知,libxmljs和jsdom是两个具有合适的DOM实现的库。