1、用 childNodes 属性,按顺序取 实现过程:首先创建一个 xml 对象,然后载入 xml 文件,再根据待取节点父节点在 xml 文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。 //pId 待取节点父节点序号 //cId 待取节点序号
2、 function getXmlNodeValue(pId, cId) { var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; xmlDoc.load("employeeInfo.xml"); var nodes = xmlDoc.documentElement.childNodes[pId].childNodes[cId]; return nodes.childNodes[0].text; }调用方法:alert(getXmlNodeValue(1, 2));
3、用 for 循环来取。实现过程:首先创建一个 ie 支持的 xml 对象,如果发生异常,是创建一个 FireFox 支持的空 xml 对象并返回空;然后载入 xml 文件,如要发生异常也返回空;最后,通过 for 循环遍历查找与传入的节点值相同的节点,找到后返回属于该节点的属性值。//nodeValue 待取节点的所属节点值
4、functio艘绒庳焰n getXmlNodeValueFor(nodeValue){ var xmlDoc; try { //创建一个 ie 支持的 XML 文档对象 xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); }catch(e){ try{ //创建FireFox空的XML文档对象 xmlDoc=document.implementation.createDocument("","",null); }catch(e){ alert(e.message); return ""; } }
5、 垓矗梅吒xmlDoc.async = false; try { xmlDoc.load("employeeInfo.xml"); }catch(e){ alert(e.message); return ""; } var xd=xmlDoc.documentElement.childNodes; if(xd==null) return ""; var tempValue; for(var i=0;i<xd.length;i++){ if(xd[i].childNodes[0].childNodes[0].nodeValue==nodeValue) tempValue=xd[i].childNodes[2].childNodes[0].nodeValue; } return tempValue;}调用方法:alert(getXmlNodeValueFor("王佳琳"));