<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<TITLE>Loadxml</TITLE>
</HEAD>
<BODY ONLOAD="Parse()">
<SCRIPT>
function Parse()
{
// Create a Document object and report the results.
// The following instantiate different versions of the MSXML parser
// Version 1 ProgID: Microsoft.XMLDOM
// Version 2 ProgID: MSXML2.DOMDocument
// Version 3 ProgID: MSXML2.DOMDocument.3.0
// var xmlDocument = new ActiveXObject("Microsoft.XMLDOM");
var xmlDocument = new ActiveXObject("MSXML2.DOMDocument");
// var xmlDocument = new ActiveXObject("MSXML2.DOMDocument.3.0");
xmlDocument.load("news.xml");
var docRoot = xmlDocument.documentElement;
if (docRoot == null)
alert("Document is null");
else {
// Test Node Interface Properties
var Name = docRoot.nodeName;
var NodeValue = docRoot.nodeValue;
var NodeType = docRoot.nodeType;
var dt = xmlDocument.doctype;
var imp = xmlDocument.implementation;
var numChildren = docRoot.childNodes.length;
var firstChildName = docRoot.firstChild.nodeName;
var firstChildVal = docRoot.firstChild.text;
var firstChildType = docRoot.firstChild.nodeType;
var lastChildName = docRoot.lastChild.nodeName;
var nextSibling = docRoot.firstChild.nextSibling;
var prevSibling = nextSibling.previousSibling;
var owner = docRoot.ownerDocument;
// This call returns a named node map, so you must use the
// NamedNodeMap interface to retrieve its values.
var attributes = docRoot.firstChild.attributes;
alert("Document Node:" + Name +
"\nDoctype: " + dt + "\nimplementation: " + imp +
"\nNumber of Child Nodes:" + numChildren +
"\nFirst child Name:" + firstChildName +
"\nFirst child value:" + firstChildVal +
"\nFirst child type:" + firstChildType +
"\nFirst Child's attributes: " + attributes +
"\nSibling of first child:" + nextSibling.nodeName +
"\nPrevious Sibling from last call:" + prevSibling.nodeName +
"\nLast child value:" + lastChildName +
"\nowner document: " + owner);
// Test Node Interface and Factory Methods
var newElem1 = xmlDocument.createElement("elemA");
var newElem2 = xmlDocument.createElement("elemB");
xmlDocument.documentElement.insertBefore(newElem1,
docRoot.firstChild);
xmlDocument.documentElement.removeChild(docRoot.lastChild);
xmlDocument.documentElement.appendChild(newElem2);
// Depending upon permissions, this call may or may not work. If
// you receive a file permissions error,
// rename this file with a .hta
// file extension and rerun.
xmlDocument.save("test1.xml");
} // else
} // Parse
</SCRIPT>
</BODY>
</HTML>