下面图老师小编跟大家分享javascript读取xml,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~
【 tulaoshi.com - Web开发 】
代码如下:
/**  
 * 得到XML文件属性的集合对象  
 * @param xmlDoc XML对象  
 * @param name 属性名称 如: user  
 * @return 返回 Array 对象  
 * Example XML:  
 * ?xml version='1.0' encoding='utf-8'?  
 * ekuy  
 *   user  
 *     name  
 *       cnname小猪/cnname  
 *     /name  
 *     age27/age  
 *   /user  
 *   user  
 *     name  
 *       cnname小霞/cnname  
 *     /name  
 *     age26/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; ikeys.length; i++) {  
    var childs = node.childNodes;       // 得到子节点  
    var key = keys[i];  
 for(var k=0; kchilds.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; ikeys.length; i++) {  
    var childs = node.childNodes;       // 得到子节点  
    var key = keys[i];  
 for(var k=0; kchilds.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'?ekuyusernamecnname小猪/cnname/nameage27/age/userusernamecnname小霞/cnname/nameage26/age/userusernamecnname小章/cnname/nameage25/age/user/ekuy");  
var list = getXMLArray(xmlDoc, 'user');  
for(var i=0; ilist.length; i++) {  
  var obj = list[i];  
  document.write(getValue(obj, 'name.cnname'));  
  document.write(getValue(obj, 'age'));  
  document.write('br/');  
}
来源:http://www.tulaoshi.com/n/20160219/1598354.html
看过《javascript读取xml》的人还看了以下文章 更多>>