xml2js
xml2js是node.js裏可以解析xml文件的工具,透過xml2js可以解析xml文件對應到json文件,讓操作xml更加方便。
Github Repository
https://github.com/Leonidas-from-XIV/node-xml2js
Installation
npm install xml2js
Sample Usage
var fs = require('fs') , xml2js = require('xml2js') /* 讀取xml檔案(位置在同目錄底下) */ var xml = fs.readFileSync(__dirname + '/foo.xml', 'utf-8'); console.log('Source XML:'); console.log(xml); /* 解析xml string成json物件 */ xml2js.parseString(xml, function (err, result) { console.log('Parsed Json:'); console.dir(result.foo.bar); });
執行結果:
# node examples/xml2js/sample01.js
Source XML:
<foo>
<bar>Hello World! </bar>
</foo>
Parsed Json:
[ 'Hello World! ' ]
進階使用: 加入額外參數設定,下面範例是針對解攜出來的文字做trim的處理,有哪些option可以參考:https://github.com/Leonidas-from-XIV/node-xml2js#options
var fs = require('fs') , xml2js = require('xml2js') /* 讀取xml檔案(位置在同目錄底下) */ var xml = fs.readFileSync(__dirname + '/foo.xml', 'utf-8'); console.log('Source XML:'); console.log(xml); xml2js.parseString(xml, //定義option內容,可參考:https://github.com/Leonidas-from-XIV/node-xml2js#options {trim: true}, function (err, result) { console.log('Parsed Json:'); console.dir(result.foo.bar); });
執行結果:
Source XML:
<foo>
<bar>Hello World! </bar>
</foo>
Parsed Json:
[ 'Hello World!' ]
注意看上面的執行結果會發現,Parsed Json後面的空白已經消失啦~