国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

FireFox對XML的處理兼容IE的節點處理方法

2019-11-17 05:53:17
字體:
來源:轉載
供稿:網友

使Firefoxxml的處理兼容IE的節點處理方法。具體代碼列出如下。

具體代碼如下。

<! DOCTYPE Html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
< HTML >
< HEAD >
< TITLE >  使firefox對xml的處理兼容IE的selectSingleNode selectNodes方法  </ TITLE >
< META  NAME ="Author"  CONTENT ="emu" >
< META  NAME ="KeyWords"  CONTENT ="firefox IE selectSingleNode selectNodes" >
< META  NAME ="Descr< SCRIPT  LANGUAGE ="javascript" >
<!--
var  isIE  =   !! document.all;

function  parseXML(st){
     if (isIE){
         var  result  =   new  ActiveXObject( " microsoft.XMLDOM " );
        result.loadXML(st);
    } else {
         var  parser  =   new  DOMParser();
         var  result  =  parser.parseFromString(st,  " text/xml " );
    }
     return  result;
}

if ( ! isIE){
     var  ex;
    XMLDocument.         try {
             return   new  XMLSerializer().serializeToString( this );
        } catch (ex){
             var  d  =  document.createElement( " div " );
            d.appendChild( this .cloneNode( true ));
             return  d.innerHTML;
        }
    });
    Element.prototype.__proto__.__defineGetter__( " xml " ,  function (){
         try {
             return   new  XMLSerializer().serializeToString( this );
        } catch (ex){
             var  d  =  document.createElement( " div " );
            d.appendChild( this .cloneNode( true ));
             return  d.innerHTML;
        }
    });
    XMLDocument.prototype.__proto__.__defineGetter__( " text " ,  function (){
         return   this .firstChild.textContent
    });
    Element.prototype.__proto__.__defineGetter__( " text " ,  function (){
         return   this .textContent
    });

    XMLDocument.prototype.selectSingleNode = Element.prototype.selectSingleNode = function (XPath){
         var  x = this .selectNodes(xpath)
         if ( ! x    x.length < 1 ) return   null ;
         return  x[ 0 ];
    }
    XMLDocument.prototype.selectNodes = Element.prototype.selectNodes = function (xpath){
         var  xpe  =   new  XPathEvaluator();
         var  nsResolver  =  xpe.createNSResolver( this .ownerDocument  ==   null   ?
             this .documentElement :  this .ownerDocument.documentElement);
         var  result  =  xpe.evaluate(xpath,  this , nsResolver,  0 ,  null );
         var  found  =  [];
         var  res;
         while  (res  =  result.iterateNext())
            found.push(res);
         return  found;
    }
}
var  x  =  parseXML( " <people>  <person first-name=/ " eric/ "  middle-initial=/ " H/ "  last-name=/ " jung/ " >    <address street=/ " 321  south st/ "  city=/ " denver/ "  state=/ " co/ "  country=/ " usa/ " />    <address street=/ " 123  main st/ "  city=/ " arlington/ "  state=/ " ma/ "  country=/ " usa/ " />  </person>  <person first-name=/ " jed/ "  last-name=/ " brown/ " >    <address street=/ " 321  north st/ "  city=/ " atlanta/ "  state=/ " ga/ "  country=/ " usa/ " />    <address street=/ " 123  west st/ "  city=/ " seattle/ "  state=/ " wa/ "  country=/ " usa/ " />    <address street=/ " 321  south avenue/ "  city=/ " denver/ "  state=/ " co/ "  country=/ " usa/ " />  </person></people> " );

alert( " 搜索所有人的姓氏(last-name) " )
var  results  =  x.selectNodes( "
//person/@last-name " );
for  ( var  i = 0 ; i < results.length;i ++ )
  alert( " Person # "   +  i  +   "  has the last name  "   +  results[i].nodeValue);
alert( " 搜索第二個人 " );
//  IE是以0為下標基數的,而不是1
if ( ! document.all)
    results  =  x.selectSingleNode( " /people/person[2] " );
else
    results  =  x.selectSingleNode( " /people/person[1] " );
alert(results.xml)

alert( " 獲得住址在donver街上的人 " );
results  =  x.selectNodes( " //person[address/@city='denver'] " );
for  ( var  i = 0 ; i < results.length;i ++ )alert(results[i].xml)

if ( ! document.all){
     //  獲得所有街名中帶south的地址
    results  =  x.selectNodes( " //address[contains(@street, 'south')] " );
    alert(results[ 0 ].xml);
} else {
    alert( " IE不支持 //address[contains(@street, 'south')] 這種查詢方式 " )
}
// -->
</ SCRIPT >
</ HEAD >
< BODY >
</ BODY >
</ HTML >

例子引自 http://kb.mozillazine.org/XPath 。從例子可以看到,IE對xpath的支持還是有限度的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 额济纳旗| 许昌市| 察雅县| 洪湖市| 富顺县| 介休市| 蓬安县| 长兴县| 体育| 革吉县| 阿城市| 潢川县| 堆龙德庆县| 晋城| 肇源县| 丹东市| 宁安市| 鄯善县| 体育| 华蓥市| 封丘县| 海门市| 南阳市| 静宁县| 垦利县| 共和县| 余干县| 清水县| 潼关县| 文山县| 丰原市| 威远县| 万州区| 贵阳市| 申扎县| 湖北省| 山西省| 苍山县| 中卫市| 丰镇市| 株洲县|