我正在尝试从node.js中的给定对象序列化XML。我想将一个数组序列化为一些具有相同名称的元素,即应该重复相同的元素。
示例:
var objectToSerialize = {
SomeElement: {
Data: [3, 5, 2]
}
};
serialize(objectToSerialize);
请求结果:
<RootElement>
<SomeElement>
<Data>3</Data>
<Data>5</Data>
<Data>2</Data>
</SomeElement>
</root>
我尝试了xml2js,但结果是:
<root>
<SomeElement>
<0>3</0>
<1>5</1>
<2>2</2>
</SomeElement>
</root>
而且我没有找到这样的选择。
哪个库可以序列化这样的XML?
注意:
编辑:与输入不同,输出XML中数组的结构与我给出的确切示例相匹配,具有高优先级。
答案 0 :(得分:0)
您可以尝试使用此库xml-mapping
var XMLMapping = require('xml-mapping');
var objectToSerialize = {
SomeElement: {
Data: [3, 5, 2]
}
};
console.log(XMLMapping.dump(objectToSerialize));
输出结果为:
<SomeElement>
<Data><![CDATA[3]]></Data>
<Data><![CDATA[5]]></Data>
<Data><![CDATA[2]]></Data>
</SomeElement>
答案 1 :(得分:0)
对于它可能涉及的人,我最终得到了“xml”:https://www.npmjs.com/package/xml
只需要将输入更改为:
var objectToSerialize = [{
SomeElement: [
{ Data: 3 },
{ Data: 5 },
{ Data: 2 }
]
}];