xml解析获取属性值

钟逸 74 2024-03-12 05:16:46

js怎么获取xml里某个节点的值并输出

1、用 childNodes属性,按顺序取

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

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

//cId待取节点序号

functiongetXmlNodeValue(pId,cId){

varxmlDoc=newActiveXObject("Microsoft.XMLDOM");

xmlDoc.async=false;

xmlDoc.load("employeeInfo.xml");

varnodes=xmlDoc.documentElement.childNodes[pId].childNodes[cId];returnnodes.childNodes[0].text;

}

调用方法:alert(getXmlNodeValue(1, 2));

2、用 for循环来取

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

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

functiongetXmlNodeValueFor(nodeValue){

varxmlDoc;

try{

//创建一个ie支持的XML文档对象

xmlDoc=newActiveXObject("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"";

}

varxd=xmlDoc.documentElement.childNodes;

if(xd==null)

return"";

vartempValue;

for(vari=0;i<xd.length;i++){

if(xd[i].childNodes[0].childNodes[0].nodeValue==nodeValue)tempValue=xd[i].childNodes[2].childNodes[0].nodeValue;

}

returntempValue;

}

调用方法:alert(getXmlNodeValueFor("王佳琳"));

上一篇:勇士的信仰勇士绝世礼包
下一篇:我的世界懒人包手机版
相关文章
返回顶部小火箭