xml文件对象出来了, 接下去我就要对这个文档进行操作了.比如说,我们现在需要得到节点Login/Weapon/W的第一个节点的属性,那么我们可以如下进行.
// 首先对xml对象进行判断 checkXMLDocObj = function (xmlFile){ var xmlDoc = loadXML(xmlFile); if (xmlDoc == null ){alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题 ! ');window.location.href = ' / Index.aspx';} return xmlDoc;} // 然后开始获取需要的Login/Weapon/W的第一个节点的属性值 var xmlDoc = checkXMLDocObj(' / EBS / XML / Login.xml'); var v = xmlDoc.getElementsByTagName('Login / Weapon / W')[ 0 ].childNodes.getAttribute('Text')而我在我的程序中的写法是这样子的,当然我在程序中的写法是已经应用到实际中的了.一并给出来,以供查看
initializeSelect = function (oid,xPath){ var xmlDoc = checkXMLDocObj(' / EBS / XML / Login.xml'); var n; var l; var e = $(oid); if (e != null ){n = xmlDoc.getElementsByTagName(xPath)[ 0 ].childNodes;l = n.length; for ( var i = 0 ;i < l;i ++ ){ var option = document.createElement('option');option.value = n[i].getAttribute('Value');option.innerHTML = n[i].getAttribute('Text');e.appendChild(option);}}} 上面的访问代码中,我们是通过xmlDoc.getElementsByTagName(xPath)来进行的. 还可以通过xmlDoc.documentElement.childNodes(1)..childNodes(0).getAttribute('Text')进行访问. 一些常用方法: xmlDoc.documentElement.childNodes(0).nodeName,可以得到这个节点的名称. xmlDoc.documentElement.childNodes(0).nodeValue,可以得到这个节点的值. 这个值是来自于这样子的xml格式:<a>b</b>, 于是可以得到b这个值. xmlDoc.documentElement.childNodes(0).hasChild,可以判断是否有子节点 根据我的经验,最好是使用getElementsByTagName(xPath)的方法对节点进行访问,因为这样子可以直接通过xPath来定位节点,这样子会有更好的性能.