Откройте, прочитайте, измените и сохраните XML в node.js

Я пытаюсь открыть, прочитать, изменить и сохранить XML- файл в node.js. Я использую XMLDoc, но я застрял на этапе изменения и сохранения.

Учитывая этот XML:

<widget version="1.0.0">
    <!-- NAME -->
    <name short="Name-en"></name>
</widget>

Я хочу открыть это config.xml файл и установить foo как контент.

fs.readFile(__dirname + '/templates/widget_template/config.xml', 'utf8', function (err, data) {
    if (err)  return console.log(err);

    var document = new xmldoc.XmlDocument(data);
    document.descendantWithPath("name").value = 'foo';
    console.log(document.toString());
});

Но когда я делаю console.log(document.toString()) что я получаю это:

<widget version="1.0.0">
  <name short="Name-en"/>
</widget>

И то, что я пытаюсь получить, это:

<widget version="1.0.0">
  <name short="Name-en">foo</name>
</widget>

Я делаю что-то не так? Есть ли лучший способ сделать это, чем с помощью XMLDoc?, Спасибо!

1 ответ

Я тупая, только изменилась

document.descendantWithPath("name").value = 'foo';

за

document.descendantWithPath("name").val = 'foo';

и это сработало.

Другие вопросы по тегам