XML DOM ændre knude værdi
- Forrige side DOM få node
- Næste side DOM slet node
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"
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"
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"
- Forrige side DOM få node
- Næste side DOM slet node