javascript读取xml_Javascript教程-查字典教程网
javascript读取xml
javascript读取xml
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:/***得到XML文件属性的集合对象*@paramxmlDocXML对象*@paramname属性名称如:user*@re...

复制代码 代码如下:/**

*得到XML文件属性的集合对象

*@paramxmlDocXML对象

*@paramname属性名称如:user

*@return返回Array对象

*ExampleXML:

*<?xmlversion='1.0'encoding='utf-8'?>

*<ekuy>

*<user>

*<name>

*<cnname>小猪</cnname>

*</name>

*<age>27</age>

*</user>

*<user>

*<name>

*<cnname>小霞</cnname>

*</name>

*<age>26</age>

*</user>

*</ekuy>

*/

functiongetXMLArray(xmlDoc,name){

varkeys=name.split('.');

varnode=xmlDoc.documentElement;//得到根节点

varrtn=newArray();

varn=0;

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

varchilds=node.childNodes;//得到子节点

varkey=keys[i];

for(vark=0;k<childs.length;k++){

varchild=childs[k];

if(child.nodeName==key){//判断子节点是否符合

if(i==keys.length-1){

rtn[n]=child;

n++;

}else{

node=child;

break;

}

}

}

}

returnrtn;

}

/**

*得到由getXMLArray函数得到对象中的值

*@paramnode节点对象

*@paramname

*@return返回String

*/

functiongetValue(node,name){

varkeys=name.split('.');

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

varchilds=node.childNodes;//得到子节点

varkey=keys[i];

for(vark=0;k<childs.length;k++){

varchild=childs[k];

if(child.nodeName==key){//判断子节点是否符合

if(child.childNodes.length==1){

//如果没有字节点,返回值

returnchild.text;

}else{

//还有子节点,继续分析

node=child;

break;

}

}

}

}

return"";

}

//测试:

varxmlDoc=newActiveXObject("Microsoft.XMLDOM");

xmlDoc.async=false;

xmlDoc.loadXML("<?xmlversion='1.0'encoding='utf-8'?><ekuy><user><name><cnname>小猪</cnname></name><age>27</age></user><user><name><cnname>小霞</cnname></name><age>26</age></user><user><name><cnname>小章</cnname></name><age>25</age></user></ekuy>");

varlist=getXMLArray(xmlDoc,'user');

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

varobj=list[i];

document.write(getValue(obj,'name.cnname'));

document.write(getValue(obj,'age'));

document.write('<br/>');

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类