Как изменить и сохранить XML файл с помощью JavaScript?

Привет всем! У меня возникла проблема с редактированием XML файла через JavaScript. Вот пример моего XML:

<nsml version='-//iNEWS//DTD NSML 2.0//EN'>
  <head>
    <meta wire='o' words='347' rate='175'/>
    <rgroup number='214'/>
    <wgroup number='214'/>
  </head>
  <fields>
    <f id='title'>Заголовок</f>
    <f id='headline'>Подзаголовок</f>
    <f id='summary'>Краткое содержание</f>
  </fields>
</nsml>

Я пытаюсь изменить значение тега ‘title’, но мой код не работает. Вот что я пробовал:

let xmlDoc = new DOMParser().parseFromString(xmlString, 'text/xml');
let titleElement = xmlDoc.querySelector('f[id=title]');
titleElement.textContent = 'Новый заголовок';

let serializer = new XMLSerializer();
let modifiedXmlString = serializer.serializeToString(xmlDoc);

Как правильно изменить XML и сохранить изменения? Буду благодарен за любую помощь!

слушай, я тоже недавно мучился с xml в js, но нашел классную библиотеку - xmldom. с ней все намного проще! вот пример как изменить и сохранить xml:

const { DOMParser, XMLSerializer } = require(‘xmldom’);
const fs = require(‘fs’);

let xml = fs.readFileSync(‘твой_файл.xml’, ‘utf8’);
let doc = new DOMParser().parseFromString(xml);

let title = doc.querySelector(‘f[id=“title”]’);
title.textContent = ‘новый заголовок’;

let newXml = new XMLSerializer().serializeToString(doc);
fs.writeFileSync(‘обновленный_файл.xml’, newXml);

попробуй, должно сработать! и не забудь установить xmldom через npm

Твой код в целом верный, но есть пара нюансов. Во-первых, убедись, что xmlString действительно содержит валидный XML. Во-вторых, для более надежного выбора элемента используй:

xmlDoc.querySelector(‘f[id=“title”]’);

Также, после изменения контента, не забудь сохранить результат:

let blob = new Blob([modifiedXmlString], {type: ‘text/xml’});
let url = URL.createObjectURL(blob);
let a = document.createElement(‘a’);
a.href = url;
a.download = ‘modified.xml’;
a.click();

Это позволит скачать измененный XML файл. Удачи в работе!