【问题标题】:node js adding node or element to xml filenode js将节点或元素添加到xml文件
【发布时间】:2017-08-08 13:49:32
【问题描述】:

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

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

【问题讨论】:

  • 你能不能把整个XML文件格式化成JSON,然后添加你想要的数据,一旦完成,把JSON格式化回XML?跨度>
  • 您好,感谢您的回答,如果您有一些如何将 xml 转换为 json 的示例,它将对我有所帮助,谢谢
  • 我把答案贴在下面,希望对你有帮助

标签: node.js xml dom cheerio


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    相关资源
    最近更新 更多