照一般的作法,會是用操作 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';
來匯入使用。