XML DOM - Change Node Values

## XML DOM Tutorial

DOM HOME DOM Introduction DOM Nodes DOM Node Tree DOM Parser DOM Load Function DOM Methods DOM Accessing DOM Node Info DOM Node List DOM Traversing DOM Browsers DOM Navigating

## Manipulate Nodes

DOM Get Values DOM Change Nodes DOM Remove Nodes DOM Replace Nodes DOM Create Nodes DOM Add Nodes DOM Clone Nodes DOM XMLHttpRequest

## XML DOM Reference

DOM Node Types DOM Node DOM NodeList DOM NamedNodeMap DOM Document DOM DocumentImpl DOM DocumentType DOM ProcessingInstr DOM Element DOM Attribute DOM Text DOM CDATA DOM Comment DOM XMLHttpRequest DOM ParseError Obj DOM Parser Errors
DOM Summary

## XML DOM Examples

DOM Examples DOM Validator

# XML DOM Change Node Values

« Previous
Next Chapter »

The nodeValue property is used to change a node value.

The setAttribute() method is used to change an attribute value.

## Try it Yourself - Examples

The examples below use the XML file books.xml.
A function, loadXMLDoc(), in an external JavaScript is used to load the XML file.

Change an elements text node
This example uses the nodeValue property to change the text node of the first <title> element in "books.xml".

Change an attributes value using setAttribute
This example uses the setAttribute() method to change the value of the "category" attribute of the first <book>.

Change an attributes value using nodeValue
This example use the nodeValue property to change the value of the "category" attribute of the first <book>.

## Change the Value of an Element

In the DOM, everything is a node. Element nodes do not have a text value.

The text of an element node is stored in a child node. This node is called a text node.

The way to change the text of an element, is to change the value of the child node (text node).

## Change the Value of a Text Node

The nodeValue property can be used to change the value of a text node.

The following code changes the text node value of the first <title> element:

## Example

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";
Try it yourself »

Example explained:

1. Load "books.xml" into xmlDoc using loadXMLDoc()
2. Get the text node of the first <title> element
3. Change the node value of the text node to "Easy Cooking"

Loop through and change the text node of all <title> elements: Try it yourself

## Change the Value of an Attribute

In the DOM, attributes are nodes. Unlike element nodes, attribute nodes have text values.

The way to change the value of an attribute, is to change its text value.

This can be done using the setAttribute() method or using the nodeValue property of the attribute node.

## Change an Attribute Using setAttribute()

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

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

## Example

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","food");
Try it yourself »

Example explained:

1. Load "books.xml" into xmlDoc using loadXMLDoc()
2. Get the first <book> element
3. Change the "category" attribute value to "food"

Loop through all <title> elements and add a new attribute: Try it yourself

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

## Change an Attribute Using nodeValue

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

## Example

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="food";
Try it yourself »

Example explained:

1. Load "books.xml" into xmlDoc using loadXMLDoc()
2. Get the "category" attribute of the first <book> element
3. Change the attribute node value to "food"

« Previous
Next Chapter »

## Your suggestion:

Your E-mail (optional):

Page address:

Description:

Close [X]

## Thank You For Helping Us!

Your message has been sent to W3Schools.

Close [X]
Search w3schools.com:

## WEB HOSTING

Best Web Hosting UK Reseller Hosting Wow! $5 SSD Hosting

## WEB BUILDING

Download XML Editor
FREE Website BUILDER FREE Website Creator

## WEB RESOURCES

Web Statistics Web Validation

## SHARE THIS PAGE