Как обновить проанализированное значение XML - PullRequest
0 голосов
/ 24 апреля 2019

Я анализирую XML как объект и обращаюсь к узлам по тэгу. У меня проблема, когда значение, которое я хотел бы видеть обновленным, не обновляется. Предупреждение показывает мне значение, и это правильно. Но мне нужно, чтобы оно отображалось в документе, а это не так.

var x = xml.responseXML;
var v1 = document.getElementById("sid");
alert(x.getElementsByTagName("ID")[0].childNodes[0].nodeValue);
v1.innerText = x.getElementsByTagName("ID")[0].childNodes[0].nodeValue;

У меня также есть вопрос, как я могу разрешить редактирование / выделение узла?

1 Ответ

0 голосов
/ 24 апреля 2019

Если nodeValue равно null, установка его значения не имеет никакого значения (от до ).Однако вы можете изменить содержимое XML другими способами, например .innerHTML, .innerText, .value и другими.Пример с .innerHTML:

// creates a Document, as in XMLHttpRequest.responseXML
const docText = `
<!DOCTYPE html>
<body>
  <div>Hello</div>
  <div>World</div>
</body>`;
const doc = (new DOMParser()).parseFromString(docText, 'application/xml');

// setting nodeValue over null has no effect...
console.log(doc.getElementsByTagName('div')[0].nodeValue);
doc.getElementsByTagName('div')[0].nodeValue = 'Bye';
console.log(doc.getElementsByTagName('div')[0].nodeValue);

// ...but you can modifies the XML in different ways
console.log(doc.getElementsByTagName('div')[0].innerHTML);
doc.getElementsByTagName('div')[0].innerHTML = 'Bye';
console.log(doc.getElementsByTagName('div')[0].innerHTML);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...