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後面的空白已經消失啦~

results matching ""

    No results matching ""