2017-08-08 50 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

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