XML DOM ændre knude værdi

nodeValue egenskaben bruges til at ændre knudeværdien.

setAttribute() metoden bruges til at ændre egenskabsværdien.

Eksempel

Nedenstående eksempel bruger XML-filer books.xml.

Funktion loadXMLDoc()Ligger uden for JavaScript og bruges til at indlæse XML-filer.

Ændring af elementets tekstknude
Dette eksempel bruger nodeValue egenskaben til at ændre tekstknudeværdien for den første <title> element i "books.xml".
Ved at bruge setAttribute til at ændre egenskabsværdien
Dette eksempel bruger setAttribute() metoden til at ændre værdien af den første <book> elements "category" egenskab.
Ved at bruge nodeValue til at ændre egenskabsværdien
Dette eksempel bruger nodeValue egenskaben til at ændre værdien af den første <book> elements "category" egenskab.

Ændring af elementets værdi

I DOM er hver komponent en knude. Elementknuder har ingen tekstværdi.

Teksten i elementknuder gemmes i underknuder. Denne knude kaldes en tekstknude.

Metoden til at ændre elementtekst er at ændre værdien af denne underknude (tekstknude).

Ændring af tekstknudeværdi

nodeValue egenskaben kan bruges til at ændre tekstknudeværdien.

Nedenstående kodeafsnit ændrer den første <title> elementets tekstknudeværdi:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Hello World";

Eksempel forklaring:

  • Ved at bruge loadXMLDoc() Ændr "books.xml" Indlæs i xmlDoc"
  • Få den første <title> elementets tekstknude
  • Ændr denne tekstknudes nodeværdi til "Hello World"

TIY

Gennemløb og ændr alle <title> elementernes tekstknuder:TIY

Ændring af egenskabens værdi

I DOM er egenskaber også knuder. I modsætning til elementknuder har egenskabsknuder en tekstværdi.

Metoden til at ændre egenskabens værdi er at ændre dens tekstværdi.

Man kan fuldføre denne opgave ved at bruge setAttribute() metoden eller nodeValue egenskaben på attributknuden.

Ved at bruge setAttribute() til at ændre egenskaber

setAttribute() metoden sætter værdien af en eksisterende egenskab eller opretter en ny egenskab.

Følgende kode ændrer category-attributten på <book>-elementet:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","child");

Eksempel forklaring:

  • Ved at bruge loadXMLDoc() Ændr "books.xml" Indlæs i xmlDoc"
  • Få den første <book>-element
  • Ændr værdien af "category"-egenskaben til "child"

TIY

Gennemgå alle <title> og tilføj en ny egenskab:TIY

Bemærk:Hvis egenskabsnoden ikke findes, oprettes en ny egenskabsnode (med det angivne navn og værdi).

Ændr egenskaben ved hjælp af nodeValue

nodeValue-attribut kan bruges til at ændre værdien af en egenskabsnode:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="child";

Eksempel forklaring:

  • Ved at bruge loadXMLDoc() Ændr "books.xml" Indlæs i xmlDoc"
  • Få "category"-egenskaben for den første <book>-element
  • Ændr værdien af denne egenskabsnode til "child"

TIY