[英]Libraries to write xml with JavaScript
我正在使用JavaScript(node.js)做一些服務器端編碼,我想編寫有效的xml。
我找到了兩個庫,但是我確定還有更多/更好!
要求:開源(用於商業用途)
如果項目快速,小巧且易於使用(按此順序),那將很酷。 我想要一個較低級別的訪問權限
doc.addElement('xy').addAttr('name', 'bob');
我創建了兩個函數,如下所示:
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。
在http://github.com/ry/node/wiki/modules#parsers-xml中列出了許多用於node.js的XML庫。
如果有內存可用,那么具有最大吸引力的是http://github.com/polotek/libxmljs ,它似乎是MIT許可的。
我最近發布了node-genx ,它是一個名為Genx的小型C庫的包裝,該庫在node.js中提供了快速有效的xml生成。
安裝很簡單:
npm install genx
我在博客上發布了一些使用它生成Atom提要和Sphinx xmlpipe2流的示例 。
我發現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>
有幾點警告,它不能轉義字符串,並且語法可能變得土狼+丑陋。 您可以從作者的網站或https://github.com/alexandern/XMLWriter下載 (包括獨立屬性的轉義和錯誤修復)
Node.js的這個庫非常穩定且易於使用: https : //github.com/minchenkov/simple-xml-writer
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.