星期一, 10月 30, 2017

在 javascript 裡將 dict/object 轉換為 xml

照一般的作法,會是用操作 DOM 的方式來產生出 XML,但這樣很繁瑣,找了好幾個函式庫,最後是找到 object-to-xml (Github網址),使用方法很簡單:
var objectToXML = require('object-to-xml');

var obj = { 
  '?xml version=\"1.0\" encoding=\"iso-8859-1\"?' : null,
  request : {
    '@' : {
      type : 'product',
      id : 12344556
    },
    '#' : {
      query : {
        vendor : 'redhat',
        name : 'linux'
      }
    }
  }
};

console.log(objectToXML(obj));
/*


  
    redhat
    linux
  

*/
在 '@' 裡的,都是屬性,而在 '#' 裡的則是子 element 。
在 typescript 裡,要用
import * as objectToXML from 'object-to-xml';
來匯入使用。

沒有留言: