2017-08-08 2 views
0

Comment puis-je ajouter un nouveau nœud/élément ou mettre à jour un fichier xml dans le nœud js express? J'essaie de le faire avec cheerio, mon code:nœud js ajout d'un nœud ou d'un élément au fichier xml

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

Pouvez-vous formater tout l'ensemble du fichier '' xml' dans JSON', puis ajoutez les données que vous voulez, et une fois que cela se fait, en forme juste le '' JSON'back à xml' ? –

+0

Salut, merci pour votre réponse, si vous avez un exemple comment convertir xml en json cela va m'aider, merci –

+0

J'ai posté la réponse ci-dessous, j'espère que cela vous aidera –

Répondre

1

Vous format Élargi l'ensemble du fichier XML en JSON, puis ajouter les données que vous voulez, et une fois que cela est fait, formater juste le 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) 
    } 
}); 

Démo https://runkit.com/moongod101/598bd24d5a737100125cb948

+0

Merci pour votre réponse, cela fonctionne parfaitement. –