你的位置:首页 > Java教程

[Java教程]jQuery静态方法parseXML使用和源码分析

 

jQuery.parse

方法 jQuery.parse

在 IE 9+ 和其他浏览器中,会使用 DOMParser 对象解析; 在 IE 9 以下的浏览器中,则使用 ActiveXObject 对象解析

源码分析

// Cross-browser   parsefunction( data ) {    var try {      if ( window.DOMParser ) { // Standard        tmp = new DOMParser();        = tmp.parseFromString( data , "text/ );      } else { // IE        new ActiveXObject( "Microsoft. );        = "false";        catch( e ) {      = undefined;    }    if ( ! ).length ) {      jQuery.error( "Invalid  data );    }    return 

首先针对IE(9以下)和W3C标准进行区分处理,对于W3C浏览器而言采用标准的解析对象DOMParser,下面针对此对象进行扩展

//DOMParser 对象解析 //要使用 DOMParser,使用不带参数的构造函数来实例化它,然后调用其 parseFromString() 方法:var doc = (new DOMParser()).parseFromString(text)

parseFromString定义如下
//text 参数是要解析的 //contentType 是文本的内容类型。可能是 "text/parseFromString(text, contentType)

IE采用的ActiveXObject对象解析

这个方法在表示 HTML 文档的Document对象上并不存在。在调用 load

var doc = new ActivexObject ("MS);doc.load

IE9以下浏览器解析后返回的是Document对象 失败了此对象为null

IE9以上的解析失败会报错执行catch语句把

在 IE 以外的浏览器中,如果解析失败,方法 parseFromString() 不会抛出任何异常,只会返回一个包含了错误信息的文档对象,如下所示:

<parsererror ="http:// www.mozilla.org/newlayout/>(error description)<sourcetext>(a snippet of the source </sourcetext></parsererror>

基于此次下面就用了几个判断条件检验是否解析成功

if ( !

1.

2.

3.parsererror元素存在  针对非IE

满足任意一条就会调用error方法告诉开发者