node-object-to-xml icon indicating copy to clipboard operation
node-object-to-xml copied to clipboard

repeats keys

Open ecommerce-technician opened this issue 8 years ago • 3 comments

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>

ecommerce-technician avatar Dec 06 '16 04:12 ecommerce-technician

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 avatar Dec 08 '16 16:12 wankdanker

@wankdanker awesome, thanks!

ecommerce-technician avatar Dec 16 '16 09:12 ecommerce-technician

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.

F1LT3R avatar Mar 28 '17 03:03 F1LT3R