wankdanker / node-object-to-xml

Convert any JavaScript object to XML
MIT License
19 stars 8 forks source link

repeats keys #8

Open ecommerce-technician opened 7 years ago

ecommerce-technician commented 7 years ago

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>
wankdanker commented 7 years ago

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>
ecommerce-technician commented 7 years ago

@wankdanker awesome, thanks!

F1LT3R commented 7 years ago

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.