XML解析的最佳节点模块


Answers:


199

您可以尝试xml2js。这是一个简单的XML到JavaScript对象的转换器。它将XML转换为JS对象,以便您可以轻松访问其内容。

以下是一些其他选项:

  1. libxmljs
  2. XML流
  3. xmldoc
  4. cheerio –为XML(和HTML)实现核心jQuery的子集

我已经用过了xml2js,对我来说效果很好。其余的您可能需要自己尝试一下。


4
libxmljs允许使用像这样的命令遍历xml .find(),这非常有用。
拉斐尔·哈维尔2013年

4
xml-stream为我工作得很好。从远程服务器接收XML数据时,这特别方便。
2013年

2
xml2js对我来说非常出色
Rainabba

xml-stream不适用于Windows。使用xml-flow!github.com/matthewmatician/xml-flow
matthewmatician 2015年

140

此答案与Windows开发人员有关。您想选择一个不依赖node-expat的XML解析模块。Node-expat需要node-gyp,而node-gyp需要您在计算机上安装Visual Studio。如果您的计算机是Windows Server,则绝对不希望在其上安装Visual Studio。

那么,该选择哪个XML解析模块?

省去很多麻烦,并使用xml2jsxmldoc。它们依赖于sax.js,这是一个纯Javascript解决方案,不需要node-gyp。

无论libxmljsXML的流需要节点GYP。除非您已经在计算机上安装了Visual Studio,否则不要选择它们。

2015年10月24日更新:似乎有人找到了一种无需安装VS就可以在Windows上使用node-gyp的解决方案:https : //github.com/nodejs/node-gyp/issues/629#issuecomment-138276692


19
@rainabba这就是为什么我写:这个答案与Windows开发人员有关。在Windows上,需要VS。
Christiaan Westerbeek 2014年

10
@rainabba我希望引用node-gyp git repo的第一句话,这样就可以了。您显然没有受window上的node-gyp问题困扰。

1
希望我在尝试使用xml-stream之前先读过这篇文章,但由于尝试使node-gyp工作而浪费了几个小时
Nuno Furtado 2014年

4
如果您的计算机是Windows Server,则绝对不希望在其上安装Visual Studio。谁能解释这个说法?
Num Lock

3
Visual Studio是相当繁重的开发工具,通常不需要在生产服务器上安装(和许可)开发工具。
ThomasRedstone '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.