相思资源网 Design By www.200059.com

复制代码 代码如下:/** 
 * 得到XML文件属性的集合对象 
 * @param xmlDoc XML对象 
 * @param name 属性名称 如: user 
 * @return 返回 Array 对象 
 * Example XML: 
 * <?xml version='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> 
 */ 
function getXMLArray(xmlDoc, name) { 
  var keys = name.split('.'); 
  var node = xmlDoc.documentElement;      // 得到根节点 
  var rtn = new Array(); 
  var n = 0; 

  for(var i=0; i<keys.length; i++) { 
    var childs = node.childNodes;       // 得到子节点 
    var key = keys[i]; 
 for(var k=0; k<childs.length; k++) {       
   var child = childs[k]; 
   if(child.nodeName == key) {     // 判断子节点是否符合 
  if(i == keys.length-1) { 
          rtn[n] = child; 
    n++; 
  } else { 
    node = child; 
    break; 
  } 
   } 
 } 
  } 


  return rtn; 



/** 
 * 得到由getXMLArray函数得到对象中的值 
 * @param node 节点对象 
 * @param name  
 * @return 返回 String  
 */ 
function getValue(node, name) { 
  var keys = name.split('.'); 

  for(var i=0; i<keys.length; i++) { 
    var childs = node.childNodes;       // 得到子节点 
    var key = keys[i]; 
 for(var k=0; k<childs.length; k++) {       
   var child = childs[k]; 
   if(child.nodeName == key) {     // 判断子节点是否符合 
  if(child.childNodes.length == 1) {          
    // 如果没有字节点,返回值 
    return child.text; 
  } else {                                  
    // 还有子节点,继续分析 
    node = child; 
    break; 
  } 
   } 
 } 
  } 


  return ""; 




// 测试: 


var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
xmlDoc.async = false; 
xmlDoc.loadXML("<?xml version='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>"); 


var list = getXMLArray(xmlDoc, 'user'); 
for(var i=0; i<list.length; i++) { 
  var obj = list[i]; 
  document.write(getValue(obj, 'name.cnname')); 
  document.write(getValue(obj, 'age')); 
  document.write('<br\/>'); 
}

标签:
javascript读取xml

相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com

评论“javascript读取xml”

暂无javascript读取xml的评论...

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。