2014-09-23 35 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创建例程。