oozcitak / xmlbuilder-js

An XML builder for node.js
MIT License
918 stars 107 forks source link

Support for multi line comment #219

Closed arunsraga closed 5 years ago

arunsraga commented 5 years ago

I want to comment multi line i.e

var obj = {
   'target' : [  { 'group': {
                        '@name': "myGroup", "@id" : "123"}},
                 { 'group': {
                        '@name': "myGroup2", "@id" : "456"}
                     }  ]
}

var resultObj = {  "#comment": obj }
var xml = builder.create(resultObj ).end({ pretty: true});
console.log(xml);

I'm getting following Error. "node_modules\xmlbuilder\lib\XMLComment.js:15 throw new Error("Missing comment text");

I was Expecting Result as follows:

<!-- <target>
        <group name="myGroup" id="123" />
        <group name="myGroup2 " id ="456" />
 </target> --> 
oozcitak commented 5 years ago

Comment text needs to be a string. e.g. { "#comment": "some text here" }. So, in order to have an XML tree inside a comment, you need to convert it into a string first:

Edit: var resultObj = { "#comment": builder.create(obj).end() }.

arunsraga commented 5 years ago

@oozcitak Thank You. It works fine.