码迷,mamicode.com
首页 > Web开发 > 详细

使用Jquery解析xml的两种方法

时间:2015-11-02 19:26:02      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

第一种方案(最稳妥):

先将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>

  

使用Jquery解析xml的两种方法

标签:

原文地址:http://www.cnblogs.com/lyf22/p/4930960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!