XML DOM Node Waarde Wijzigen

De nodeValue-eigenschap wordt gebruikt om de waarde van de knoop te wijzigen.

De setAttribute() methode wordt gebruikt om de waarde van de eigenschap te wijzigen.

Voorbeeld

Hieronder wordt een voorbeeld van een XML-bestand gebruikt books.xml

Functie loadXMLDoc()Ligt buiten de JavaScript, wordt gebruikt om XML-bestanden te laden.

Het wijzigen van de tekstknooppunt van het element
In dit voorbeeld wordt de tekstknooppunt van de eerste <title> element in "books.xml" gewijzigd met behulp van de nodeValue-eigenschap.
Het wijzigen van de waarde van de eigenschap door gebruik te maken van setAttribute
In dit voorbeeld wordt de eigenschap van de eerste <book> met de waarde "category" gewijzigd met behulp van de setAttribute() methode.
Het wijzigen van de waarde van de eigenschap door gebruik te maken van nodeValue
In dit voorbeeld wordt de eigenschap van de eerste <book> met de waarde "category" gewijzigd met behulp van de nodeValue-eigenschap.

Het wijzigen van de waarde van het element

In de DOM is elk onderdeel een knoop. Elementknopen hebben geen tekstwaarde.

De tekst van de elementknoop wordt opgeslagen in de subknoop. Deze knoop wordt een tekstknooppunt genoemd.

Het wijzigen van de tekst van het element is het wijzigen van de waarde van deze subknoop (tekstknooppunt).

Het wijzigen van de waarde van de tekstknooppunt

De nodeValue-eigenschap kan worden gebruikt om de waarde van de tekstknooppunt te wijzigen.

De volgende codefragment wijzigt de waarde van de tekstknooppunt van het eerste <title> element:

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

Example explanation:

  • By using loadXMLDoc() Change "books.xml" Load xmlDoc
  • Verkrijg de tekstknooppunt van het eerste <title> element
  • Verander de waarde van deze tekstknooppunt in "Hello World"

TIY

Blaat door alle <title> elementtekstknopen en wijzig deze:TIY

Het wijzigen van de waarde van de eigenschap

In de DOM zijn eigenschappen ook knopen. In tegenstelling tot elementknopen hebben eigenschapsknopen een tekstwaarde.

Het wijzigen van de waarde van de eigenschap is het wijzigen van zijn tekstwaarde.

Deze taak kan worden voltooid door het gebruik van de setAttribute() methode of de nodeValue-eigenschap van het eigenschapsnode.

Door het gebruik van setAttribute() de eigenschappen te wijzigen

The setAttribute() method sets the value of an existing attribute or creates a new attribute.

The following code changes the category attribute of the <book> element:

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

Example explanation:

  • By using loadXMLDoc() Change "books.xml" Load xmlDoc
  • Get the first <book> element
  • Change the value of the "category" attribute to "child"

TIY

Traverse all <title> and add a new attribute:TIY

Note:If the attribute node does not exist, a new attribute (with the specified name and value) is created.

Change the attribute by using nodeValue

The nodeValue attribute can be used to change the value of an attribute node:

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

Example explanation:

  • By using loadXMLDoc() Change "books.xml" Load xmlDoc
  • Get the "category" attribute of the first <book> element
  • Change the value of the attribute node to "child"

TIY