使用JavaScript编写xml的库

时间:2010-10-31 22:02:34

标签: javascript xml serverside-javascript

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

我发现了两个库,但我相信还有更多/更好的游戏!?

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

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

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

5 个答案:

答案 0 :(得分: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's XMLWriter在内存中创建XML。

答案 1 :(得分:2)

http://github.com/ry/node/wiki/modules#parsers-xml

列出了node.js的许多XML库

如果记忆有效,那么牵引力最大的是http://github.com/polotek/libxmljs,似乎是麻省理工学院的许可。

答案 2 :(得分:2)

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

安装很简单:

npm install genx

我已经发布了一些examples of using it来在我的博客上生成Atom Feed和Sphinx xmlpipe2流。

答案 3 :(得分: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(包括对独立属性的转义和错误修复)

答案 4 :(得分:0)

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