2014-09-23 75 views
0

我試圖轉換一個JS對象到XML字符串,而我一直在使用下面的插件如何jsobject轉換與屬性的XML

https://github.com/michaelkourlas/node-js2xmlparser

http://goessner.net/download/prj/jsonxml/

如果我給喜歡嘗試數據下面

var data = { 
    "firstName": "John", 
    "lastName": "Smith" 
}; 

它應該給這樣的

結果
> <?xml version="1.0" encoding="UTF-8"?> 
> <person firstName="John" lastName="Smith">>  
> </person> 

他們說,向js屬性添加'underscode'或者「@」前綴會使該屬性成爲一個屬性,但是我的js對象是動態創建的,所以我不能在每個之前添加「underscode」或「@」屬性屬性。

有沒有其他辦法可以實現我想要的?

回答

1

我的js對象是動態創建的,所以我不能在每個屬性屬性前添加「underscode」或「@」。

其實嘛,你可以添加的每個屬性之前的「@」沒有太多的麻煩,所以如果這是從用轉換工具阻止你的唯一的事情你鏈接到:

var data = { 
    "firstName": "John", 
    "lastName": "Smith" 
}; 

var updatedData = {}, 
    k;  
for (k in data) { 
    updatedData["@" + k] = data[k]; 
}  
// now pass updatedData to your XML generator. 

如果您認爲有必要,請隨時在循環中添加對.hasOwnProperty()的呼叫。

是否有任何其他的方式來實現我想要什麼?」

嗯,當然。僅舉一個方法,你可以寫自己的XML創建例程。