W3Schools

home HOME

XML DOM Tutorial
DOM HOME
DOM Introduction
DOM Nodes
DOM Node Tree
DOM Parsing
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 HttpRequest

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 HttpRequest
DOM ParseError Obj
DOM Parser Errors

DOM Summary

Examples
DOM Examples
DOM Validator

Selected Reading
Web Statistics
Web Glossary
Web Hosting
Web Quality

W3Schools Forum

Helping W3Schools

XML DOM Change Node Values

prev next

The nodeValue property is used to change a node value.

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


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 does 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:

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

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"

Try it yourself

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:

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

Example explained:

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

Try it yourself

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:

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

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"

Try it yourself


prev next




diploma   

Get Your Diploma!

W3Schools' Online Certification Program is the perfect solution for busy professionals who need to balance work, family, and career building.

The HTML Certificate is for developers who want to document their knowledge of HTML, XHTML, and CSS.

The ASP Certificate is for developers who want to document their knowledge of ASP, SQL, and ADO.



Jump to: Top of Page or HOME or Printer Friendly Printer friendly page

W3Schools provides material for training only. We do not warrant the correctness of its contents. The risk from using it lies entirely with the user. While using this site, you agree to have read and accepted our terms of use and privacy policy.

Copyright 1999-2008 by Refsnes Data. All Rights Reserved.

Validate Validate W3C-WAI level A conformance icon W3Schools was converted to XHTML in December 1999