XML DOM Замена узла


Метод replaceChild() заменяет указанный узел.

Свойство nodeValue заменяет текст в текстовом узле.


实例

Попробуйте сами - Пример

В следующем примере используется XML-файл。
ФункцияloadXMLDoc(), расположенная во внешнем JavaScript, используется для загрузки XML-файла.


Этот пример использует replaceChild() для замены первого узла <book>.


Этот пример использует свойство nodeValue для замены данных в текстовом узле.


Замена узлов элементов

Метод replaceChild() используется для замены узлов.

Следующий фрагмент кода заменяет первый элемент <book>:

Пример

xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement; //Создайте новый элемент book, элемент title и узел newNode=xmlDoc.createElement("book"); newTitle=xmlDoc.createElement("title"); newText=xmlDoc.createTextNode("A Notebook"); //Добавьте текстовый узел к узлу title newTitle.appendChild(newText); //Добавьте узел title к узлу book. newNode.appendChild(newTitle); y=xmlDoc.getElementsByTagName("book")[0] //Замените первый узел book новым узлом x.replaceChild(newNode,y);

Попробуйте сами »

Пояснение к примеру:

  1. ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
  2. Создайте новый узел элемента <book>
  3. Создайте новый узел элемента <title>
  4. Создайте новый текстовый узел с текстом "A Notebook"
  5. Добавьте этот новый текстовый узел к новому узлу элемента <title>
  6. Добавьте этот новый узел элемента <title> к новому узлу элемента <book>
  7. Замените первый узел элемента <book> на новый узел элемента <book>

Замена данных в текстовых узлах

Метод replaceData() используется для замены данных в текстовом узле.

Метод replaceData() имеет три параметра:

  • offset — где начинать замену символов. Значение offset начинается с 0.
  • length — сколько символов заменить
  • string — строка для вставки

Пример

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];

x.replaceData(0,8,"Easy");

Попробуйте сами »

Пояснение к примеру:

  1. ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
  2. Получите текстовый узел первого узла элемента <title>
  3. Используйте метод replaceData, чтобы заменить первые 8 символов текстового узла на "Easy"

Вместо этого используйте свойство nodeValue

Заменять данные в текстовом узле проще с помощью свойства nodeValue.

Следующий фрагмент кода заменит значение текстового узла в первом элементе <title> на "Easy Italian":

Пример

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];

x.nodeValue="Easy Italian";

Попробуйте сами »

Пояснение к примеру:

  1. ИспользованиеloadXMLDoc(): поместите "" и загрузите в xmlDoc
  2. Получите текстовый узел первого узла элемента <title>
  3. Используйте свойство nodeValue, чтобы изменить текст этого текстового узла

Вы можетеИзменить узелПодробнее об изменении значений узлов в этой главе.


Другие расширения