• 使用Jquery解析xml的两种方法


    第一种方案(最稳妥):

    先将String格式的xml转换为xml对象,然后再用Jquery解析xml对象

     1 var returnDataXml = parseXML(returnData);             
     2 var param = $(returnDataXml).find("param");
     3 for(i=0;i<param .length;i++){
     4     var paramName = $(param[i]).attr("name");
     5     var rDescription = $(param[i]).attr("rDescription");
     6     var format = $(param [i]).attr("format");
     7 }
     8 
     9 function parseXML (xmlStr) {
    10     if(typeof($.browser)== "undefined"){
    11         if (!!navigator.userAgent.match(/Trident/7./)){// IE11
    12             xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    13             xmlDoc.async = "false";
    14             xmlDoc.loadXML(xmlStr);
    15         }else{
    16             var parser = new DOMParser();
    17             xmlDoc = parser.parseFromString(xmlStr, "text/xml");
    18         }
    19     }else{
    20        if($.browser.msie){// IE
    21             xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    22             xmlDoc.async = "false";
    23             xmlDoc.loadXML(xmlStr);
    24         }else{// Other
    25             var parser = new DOMParser();
    26             xmlDoc = parser.parseFromString(xmlStr, "text/xml");
    27         }
    28     }
    29     return xmlDoc;
    30 }                        

    第二种方案:

    直接使用Jquery的$.find()解析String格式的xml。

    JQUERY可以将一段字符串转成XML的对象,进而可以使用find()方法对该字符串转成的XML进行节点操作。

    注意:此方法不适用于IE9以下的IE浏览器。原因在于:IE中解析出来的是text对象。

    var param = $(returnDataXml).find("param");
    for(i=0;i<param .length;i++){
        var paramName = $(param[i]).attr("name");
        var rDescription = $(param[i]).attr("rDescription");
        var format = $(param [i]).attr("format");
    }
    
    returnData的xml:
    <params><param name='搜索' orderby='2' format='类型' rDescription='描述'></param></params>
    

      

  • 相关阅读:
    winform编程设定listview选中行
    更新客户信息
    在Flutter中使用Android、iOS的原生 View
    怎么卸载nodejs?
    JavaScript实现简单的图片瀑布流插件
    通过代码重用攻击绕过现代XSS防御
    炫酷的播放粒子效果,你也可以学会!使用Web动画API制作
    14行实现js原生语法前端模板引擎
    什么是ESLint?
    js中require和import的区别
  • 原文地址:https://www.cnblogs.com/lyf22/p/4930960.html
Copyright © 2020-2023  润新知