如何将带有属性的jsobject转换为Xml

时间:2014-09-23 12:37:00

标签: javascript xml json converter

我正在尝试将js对象转换为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 个答案:

答案 0 :(得分:1)

  

我的js对象是动态创建的,因此我无法添加&#34; undercode&#34;或&#34; @&#34;在每个属性属性之前。

实际上你可以添加&#34; @&#34;在每个属性之前没有太多麻烦,所以如果这是阻止您使用链接到的转换实用程序的唯一方法:

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()来电。

  

有没有其他方法可以达到我的目的?&#34;

当然好吧。仅举一种方式,您可以编写自己的XML创建例程。