xml2js nodejs example javascript node.js npm xml-parsing elementtree

javascript - example - nodejs xml



nodejs elementtree npm no maneja los comentarios en XML (0)

Estoy tratando de analizar el archivo XML de muestra a continuación, para obtener algunos datos de él. A continuación se muestra el archivo XML:

<Benchmark xmlns="http://checklists.nist.gov/xccdf/1.1" xml:lang="en-US"> <Profile id="profile1"> <title xmlns:xhtml="http://www.w3.org/1999/xhtml" xml:lang="en-US">text1</title> <select idref="This is rule 1" selected="true"/> <!--Rule:world_writable_sticky_dirs uses following values:--> <!--Rule:world_writable_sticky_dirs uses following values:--> <set-value idref="ssfs_master_key_timeout">20</set-value> </Profile> <Profile id="profile2"> <title xmlns:xhtml="http://www.w3.org/1999/xhtml" xml:lang="en-US">text2</title> <select idref="this is rule1" selected="true"/> <!--Rule:world_writable_sticky_dirs uses following values:--> <!--Rule:world_writable_sticky_dirs uses following values:--> <select idref="this is rule1" selected="true"/> </Profile> </Benchmark>

Este es mi código:

var fs = require(''fs''); var et = require(''elementtree''); var pd = require(''pretty-data'').pd; var tailorData, etree; tailorData = fs.readFileSync(''my.xml'').toString(); etree = et.parse(tailorData); // This function misses all the comments section. So while writing etree to file, comments will be gone. var profile = etree.find(''./Profile''); profile.set(''id'', ''StackOverFlow''); var resultXml = etree.write(); fs.writeFileSync(tailoredXML, resultXml);

¿Hay alguna forma en que pueda incluir comentarios también en et.parse (), ya que estos comentarios son importantes en mi caso?

He visto el archivo siguiente de elementtree npm, pero no tuve idea de cómo manejar la sección de comentarios.

NPM / elementtree / lib / parsers / sax.js

NPM / elementtree / lib / treebuilder.js