2017-08-08 48 views
0

如何在节点js express中添加新的节点/元素或更新xml文件? 我尝试用cheerio做到这一点,我的代码:node js将节点或元素添加到xml文件

$ = cheerio.load("my.xml", {xmlMode: true});  
$('urlset').append('<url><loc>www.google.com</loc></url>'); 
+0

你能不能格式化整个'XML'文件到'JSON',然后添加你需要的数据,一旦完成,只是格式化'JSON'back为'XML' ? –

+0

嗨,谢谢你的回答,如果你有一些例子如何将xml转换为json它会帮助我,谢谢 –

+0

我在下面发布了答案,我希望能帮到你 –

回答

1

你只格式化整个XML文件转换成JSON,然后添加你需要的数据,一旦完成,只是格式化JSON到XML

const js2xmlparser = require('js2xmlparser'); 
const xml2js = require('xml2js').parseString; 

// Rading your XML file 
const origin = '<?xml version="1.0" encoding="UTF-8"?> <root> <name>Felix</name> </root>'; 
// Making a JSON object so you can edit it easily 
xml2js(origin, (error, editableJSON) => { 
    if(error){ 
     console.log(error); 
    }else{ 
     editableJSON.stackOverflow = true; 
     // Making it back to XML 
     const resultXML = js2xmlparser.parse('root', editableJSON); 
     console.log(resultXML) 
    } 
}); 

演示 https://runkit.com/moongod101/598bd24d5a737100125cb948

+0

感谢你的回答,它的作品完美。 –