XML DOM Parser


All major browsers have a built-in XML parser to read and manipulate XML.

The XML parser converts XML into an XML DOM object that can be accessed with JavaScript.


XML Parser

The XML DOM contains methods to traverse XML trees, access, insert, and delete nodes.

However, before an XML document can be accessed and manipulated, it must be loaded into an XML DOM object.

An XML parser reads XML, and converts it into an XML DOM object that can be accessed with JavaScript.

Most browsers have a built-in XML parser.


Load an XML Document

The following JavaScript fragment loads an XML document ("books.xml"):

Example

if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else // code for IE5 and IE6
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET","books.xml",false);
xhttp.send();
xmlDoc=xhttp.responseXML;

Try it yourself »

Code explained:

  • Create an XMLHttpRequest object
  • Use the open() and send() methods of the XMLHttpRequest object to send a request to a server
  • Get the response data as XML data

Load an XML String

The following code loads and parses an XML string:

Example

if (window.DOMParser)
  {
  parser=new DOMParser();
  xmlDoc=parser.parseFromString(text,"text/xml");
  }
else // code for IE
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async=false;
  xmlDoc.loadXML(text);
  } 

Try it yourself »

Note: Internet Explorer uses the loadXML() method to parse an XML string, while other browsers use the DOMParser object.


Access Across Domains

For security reasons, modern browsers do not allow access across domains.

This means, that both the web page and the XML file it tries to load, must be located on the same server.

The examples on W3Schools all open XML files located on the W3Schools domain.

If you want to use the example above on one of your web pages, the XML files you load must be located on your own server.



Color Picker

colorpicker