node-object-to-xml
node-object-to-xml copied to clipboard
repeats keys
Hello,
My JSON seems correct:
"?xml version=\"1.0\" encoding=\"utf-8\"?": null,
"BandResponse": {
"@": {
"xmlns:xsni": "http://www.w3.org/2001/XMLSchema-instance",
"xmlns:xsd": "http://www.w3.org/2001/XMLSchema"
},
"#": {
"Band": {
"BandEventList": [{...},{...},{...},{...},]
however the xml result ends up like this:
<BandResponse xmlns:xsni="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Band>
<BandEventList>...</BandEventList>
<BandEventList>...</BandEventList>
<BandEventList>...</BandEventList>
I would need to be something more like:
var o2x = require('./');
var o = {
"?xml version=\"1.0\" encoding=\"utf-8\"?": null,
"BandResponse": {
"@": {
"xmlns:xsni": "http://www.w3.org/2001/XMLSchema-instance",
"xmlns:xsd": "http://www.w3.org/2001/XMLSchema"
},
"#": {
"Band": {
"BandEventList": {
"BandEvent" : [
{ "EventID" : 1 },
{ "EventID" : 2 },
{ "EventID" : 3 },
{ "EventID" : 4}
]
}
}
}
}
};
console.log(o2x(o));
<?xml version="1.0" encoding="utf-8"?>
<BandResponse xmlns:xsni="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Band>
<BandEventList>
<BandEvent>
<EventID>1</EventID>
</BandEvent>
<BandEvent>
<EventID>2</EventID>
</BandEvent>
<BandEvent>
<EventID>3</EventID>
</BandEvent>
<BandEvent>
<EventID>4</EventID>
</BandEvent>
</BandEventList>
</Band>
</BandResponse>
@wankdanker awesome, thanks!
I also found this helpful, thanks @wankdanker
It's confusing me as to why this should be happening. That doesn't work like I would expect it to.