<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    emu in blogjava

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      171 隨筆 :: 103 文章 :: 1052 評論 :: 2 Trackbacks

    ?

    <! 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 ="Description" ?CONTENT ="使firefox可以支持selectSingleNode?selectNodes方法" >
    < 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.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;
    ????????}
    ????});
    ????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的支持還是有限度的。
    posted on 2006-02-27 17:18 emu 閱讀(2331) 評論(0)  編輯  收藏 所屬分類: DHTML和JAVASCRIPT 技術
    主站蜘蛛池模板: 国产va免费精品| 无码国产精品一区二区免费vr| 亚洲高清视频一视频二视频三| 久久久亚洲精华液精华液精华液| 亚洲欧洲国产成人综合在线观看| 91成人免费观看在线观看| 久久精品国产亚洲77777| 日韩午夜免费视频| 成人免费区一区二区三区| 精品亚洲成A人无码成A在线观看| 亚洲精品国产精品乱码不卡| 91青青青国产在观免费影视| 色噜噜噜噜亚洲第一| 91亚洲国产成人精品下载| 免费大片在线观看网站| 97精品免费视频| 九九久久精品国产免费看小说| 亚洲男女性高爱潮网站| 亚洲一区二区高清| 国产福利在线观看免费第一福利| 青青草97国产精品免费观看| 亚洲精品第一国产综合精品 | 亚洲精品国自产拍在线观看| 四虎国产成人永久精品免费| 亚洲AV无码国产一区二区三区| 久久青青草原亚洲AV无码麻豆| 国产在线19禁免费观看| 亚洲成人免费在线| 无码毛片一区二区三区视频免费播放 | 亚洲а∨精品天堂在线| 亚洲综合一区二区国产精品| 亚洲成人影院在线观看| 永久免费av无码网站韩国毛片 | 两性色午夜视频免费网| 亚洲人成人伊人成综合网无码| 亚洲av激情无码专区在线播放 | 亚洲欧美日韩自偷自拍| 久久久久亚洲Av无码专| 久久久亚洲精品蜜桃臀| 国产美女a做受大片免费| 国产卡二卡三卡四卡免费网址 |