p0tta
p0tta

Reputation: 1651

Creating nested XMLs in node using xmlbuilder

I am using the following framework to build my xmls

https://www.npmjs.com/package/xmlbuilder

When I do the following

.ele('ATTACHMENTS','')
    .ele('ATTACHMENT', attachmentXML)

I have another attachmentXML which looks like this

attachmentXML = builder.create('ATTACHMENT','','',{headless:true})
    .ele('FILECONTENT',escape(content)).up()

<ATTACHMENTS>  
  &lt;ATTACHMENT&gt;
  &lt;FILECONTENT&gt;PK%03%04%

The xml inside my main xml is wrapped inside of &lt.; instead of < etc. How do I fix this?

Upvotes: 0

Views: 1546

Answers (1)

Tuan Anh Tran
Tuan Anh Tran

Reputation: 7267

I tried the following code and it seems to work fine. Can you check if this is what you want?

var builder = require("xmlbuilder");

var xml = builder.create("root").ele("ATTACHMENTS");

for (var i = 0; i < 10; i++) {
    xml.ele("ATTACHMENT").ele("FILECONTENT", Math.random());
}

console.log(xml.end({ pretty: true }));

output

<?xml version="1.0"?>
<root>
  <ATTACHMENTS>
    <ATTACHMENT>
      <FILECONTENT>0.31942928777141466</FILECONTENT>
    </ATTACHMENT>
    <ATTACHMENT>
      <FILECONTENT>0.16859524100899814</FILECONTENT>
    </ATTACHMENT>
    <ATTACHMENT>
      <FILECONTENT>0.4068207368854062</FILECONTENT>
    </ATTACHMENT>
    <ATTACHMENT>
      <FILECONTENT>0.044208161687968595</FILECONTENT>
    </ATTACHMENT>
    <ATTACHMENT>
      <FILECONTENT>0.18556505055049022</FILECONTENT>
    </ATTACHMENT>
    <ATTACHMENT>
      <FILECONTENT>0.1554230424004983</FILECONTENT>
    </ATTACHMENT>
    <ATTACHMENT>
      <FILECONTENT>0.08717157045974977</FILECONTENT>
    </ATTACHMENT>
    <ATTACHMENT>
      <FILECONTENT>0.27141852241595643</FILECONTENT>
    </ATTACHMENT>
    <ATTACHMENT>
      <FILECONTENT>0.7834843228518138</FILECONTENT>
    </ATTACHMENT>
    <ATTACHMENT>
      <FILECONTENT>0.14114625574824502</FILECONTENT>
    </ATTACHMENT>
  </ATTACHMENTS>
</root>

Upvotes: 1

Related Questions