您好,欢迎来到源码搜藏!分享精神,快乐你我!提示:担心找不到本站?在百度搜索“源码搜藏”,网址永远不丢失! 
  • 首 页
  • VIP源码
  • 源码论坛
  • javascript技术你可以轻松的阅读...
    JavaScript与PHP间传送数据
    禁止网页右键查看源码(源文件)
    JavaScript Chart 插件整理
    javascript sudoku 数独智力游戏
    Js动态添加复选框Checkbox的实例
    JavaScript中的私有/静态属性介
    JS版网站风格切换实例代码
    Javascript 函数对象的多重身份
    javascript中删除指定数组中指定
    javascript读取xml

    代码如下:
    /** 
    * 得到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\/>'); 
    }