源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

javascript读取xml

  • 时间:2021-04-26 16:23 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:javascript读取xml
[u]复制代码[/u] 代码如下:
/**   * 得到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\/>');  }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部