【问题标题】:Parse XML Libxmljs (Node.js)解析 XML Libxmljs (Node.js)
【发布时间】:2011-05-10 14:37:43
【问题描述】:

我正在尝试使用 libxmljs (https://github.com/polotek/libxmljs) 解析 XML 字符串。我有一些问题。我需要对我正在解析的内容应用逻辑,并根据定义的内容和未定义的内容返回。因此,我认为 SAX 风格的解析器不是一个有效的选项。

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

【问题讨论】:

  • 我猜 README 确实专注于 sax 解析。大多数人虽然使用 DOM 的东西。我将对其进行更新以明确 DOM 是可能的并举例说明。

标签: xml node.js libxml2 xml-parsing


【解决方案1】:

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 实现的库。

【讨论】:

    猜你喜欢
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    • 2016-03-22
    相关资源
    最近更新 更多