XML DOM ändra nodvärde

nodeValue Egenskapen används för att ändra nodvärdet.

setAttribute() Metoden används för att ändra egenskapsvärdet.

Ändra elementets värde

I DOM, allt är noder. Elementnoder har ingen textvärde.

Textvärdet för elementnoden lagras i undernoderna. Denna nod kallas textnod.

För att ändra elementets textvärde måste du ändra värdet på elementets textnod.

Ändra textnodens värde

nodeValue Egenskapen kan användas för att ändraTextnodens värde.

Följande kod ändrar textnodvärdet för det första <title>-elementet:

Exempel 1

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "潮菜天下"

Prova själv

Exempel förklaring:

  1. Anta books.xml Laddas in xmlDoc C
  2. Hämta den första undernoden till <title>-elementet
  3. Ändra värde på denna textnodens nodvärde till "潮菜天下"

Exempel 2

Genomgående och ändra textnoderna för alla <title>-element:

for (i = 0; i < x.length; i++) {
    x[i].childNodes[0].nodeValue = "ändrad text";
}

Prova själv

Ändra egenskapens värde

I DOM är egenskaper också noder. skillnaden från elementnoder är att egenskapsnoder har textvärden.

Att ändra egenskapsvärdet är att ändra dess textvärde.

kan genom att använda setAttribute() Metod eller egenskapsnodens nodeValue För att utföra detta jobb använd egenskapen.

Använd setAttribute() för att ändra egenskapen

setAttribute() MetodSätt värde på befintlig egenskapellerSkapa en ny egenskap.

setAttribute() Metoden kan ändra värdet på egenskapen. Om egenskapen inte finns, skapas en ny egenskap.

Detta kodsegment ändrar category-egenskapen på <book>-elementet:

Exempel 1

xmlDoc.getElementsByTagName("book")[0].setAttribute("category","烹饪");

Prova själv

Exempel förklaring:

  1. Anta books.xml har laddats upp till xmlDoc C
  2. Hämta den första <book>-elementet
  3. Ändra värdet på "category"-egenskapen till "烹饪"

Exempel 2

Genomgående alla <title>-element och lägg till en ny egenskap:

x = xmlDoc.getElementsByTagName('title');
for (i = 0; i < x.length; i++) { 
    x[i].setAttribute("edition","first edition");    
}

Prova själv

Observera:Om egenskapen inte finns, skapas en ny egenskap (med det angivna namnet och värdet).

Använd nodeValue för att ändra egenskapen

nodeValue Egenskapen ärEgenskapens värde.

ändra nodeValue Egenskapen kan ändra värdet på egenskapen.

Exempel

xmlDoc.getElementsByTagName("book")[0].getAttributeNode("category").nodeValue = "烹饪";

Prova själv

Exempel förklaring:

  1. Anta books.xml har laddats upp till xmlDoc C
  2. Hämta "category"-egenskapen för den första <book>-elementet
  3. Ändra värdet på egenskapsnoden till "koka"