10

我正在使用 JavaScript (node.js) 进行一些服务器端编码,并且我想编写有效的 xml。

我找到了两个库,但我确信还有更多/更好的!?

要求:开源(用于商业用途)

如果项目快速、小巧且易于使用(按此顺序),那就太酷了。我想有一个更低级别的访问 ala

doc.addElement('xy').addAttr('name', 'bob');
4

5 回答 5

3

我创建了两个函数,如下所示:

function loadXMLDoc(filename){
  if (window.XMLHttpRequest){
      xhttp=new XMLHttpRequest();
  }
  else {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP"); // code for IE 5-6
  }
  xhttp.open("GET",filename,false);
  xhttp.send();
  return xhttp.responseXML;
}

并且,要将 XML 写入本地文件,请调用以下函数。

function writeXML() 
    {
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        var fso = new ActiveXObject("Scripting.FileSystemObject");
        var FILENAME="D:/YourXMLName/xml";
        var file = fso.CreateTextFile(FILENAME, true);
        file.WriteLine('<?xml version="1.0" encoding="utf-8"?>\n');
        file.WriteLine('<PersonInfo>\n');
        file.WriteLine('></Person>\n');
        } 
        file.WriteLine('</PersonInfo>\n');
        file.Close();
    } 

我希望这会有所帮助,否则您可以尝试使用 Ariel Flesler 的 XMLWriter在内存中创建 XML。

于 2014-07-15T07:53:06.547 回答
2

在http://github.com/ry/node/wiki/modules#parsers-xml列出了许多用于 node.js 的 XML 库

如果没记错的话,最具吸引力的是http://github.com/polotek/libxmljs,它似乎是 MIT 许可的。

于 2010-10-31T22:49:53.003 回答
2

我最近发布了node-genx ,它是一个名为Genx的小型 C 库的包装器,它在 node.js 中提供快速有效的 xml 生成。

安装很简单:

npm install genx

我已经在我的博客上发布了一些使用它生成 Atom 提要和Sphinx xmlpipe2流的示例。

于 2011-02-08T17:42:34.443 回答
1

我发现 Ariel Flesler 的 XMLWriter 构造函数是从头开始(在内存中)创建 XML 的良好开端,看看这个

http://flesler.blogspot.com/2008/03/xmlwriter-for-javascript.html

例子

function test(){    
   // XMLWriter will use DOMParser or Microsoft.XMLDOM
   var v = new  XMLWriter();
   v.writeStartDocument(true);
   v.writeElementString('test','Hello World');
   v.writeAttributeString('foo','bar');
   v.writeEndDocument();
   console.log( v.flush() );
}

结果

<?xml version="1.0" encoding="ISO-8859-1" standalone="true" ?>
<test foo="bar">Hello World</test>

需要注意的是,它不会转义字符串,并且语法可能会变得coyote++丑陋。您可以从作者的网站或从 https://github.com/alexandern/XMLWriter下载它(包括对独立属性的转义和错误修复)

于 2011-02-26T18:22:05.010 回答
0

这个 Node.js 的库非常稳定且易于使用:https ://github.com/minchenkov/simple-xml-writer

于 2013-06-07T15:54:17.610 回答