var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("exp1.xml");
接下来需要做的是访问节点,可以通过以下3种方法:
(1)通过使用 getElementsByTagName() 方法,该方法用于获取带有指定标签名称的所有元素。
(2)通过循环(遍历)节点树。
下面的实例循环了根节点的所有子结点,并显示了它们的名称:
var nodes=xmlDoc.documentElement.childNodes;
for (i=0;i< nodes.length;i++)
{
document.write(nodes [i].nodeName);
document.write("<br />");
}
(3)通过节点的关系在节点树中导航.在 XML DOM 中,节点的关系被定义为节点的属性,包括parentNode属性、childNodes属性、firstChild属性、lastChild属性、nextSibling属性以及previousSibling属性。
访问节点之后是获取节点值,通常有两种方式:
1)nodeValue属性用于获取节点的文本值。
2)getAttribute()方法用于返回属性的值。
下面仅以加载中国地市级行政区域的代码为例来说明级联菜单如何加载XML数据。
function loadcity(pvalue)
{
var xmlDoc;
var tablehtml="";
if(window.ActiveXObject)
{
//获得操作的xml文件的ActiveXObject类型对象
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xmlDoc.load("js/Chinadomain.xml");
if(xmlDoc == null)
{
alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
window.location.href='Error.aspx';
return;
}
}
|