获取xml节点的属性值

钟逸 65 2024-05-09 12:11:59

如何获取xml文件中某个节点的值

1、用 childNodes属性,按顺序取

实现过程:首先创建一个 xml对象,然后载入 xml文件,再根据待取节点父节点在 xml文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。

//pId待取节点父节点序号

//cId待取节点序号

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));

2、用 for循环来取

实现过程:首先创建一个 ie支持的 xml对象,如果发生异常,是创建一个 FireFox支持的空 xml对象并返回空;然后载入 xml文件,如要发生异常也返回空;最后,通过 for循环遍历查找与传入的节点值相同的节点,找到后返回属于该节点的属性值。

//nodeValue待取节点的所属节点值

function 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"";

}

}

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;

}

上一篇:热血传奇法师40级装备
下一篇:光明大陆游侠装备外观
相关文章
返回顶部小火箭