照一般的作法,會是用操作 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)); /* <?xml version="1.0" encoding="iso-8859-1"?> <request type="product" id="12344556"> <query> <vendor>redhat</vendor> <name>linux</name> </query> </request> */
在 ‘@’ 裡的,都是屬性,而在 ‘#’ 裡的則是子 element 。
在 typescript 裡,要用
import * as objectToXML from 'object-to-xml';
來匯入使用。