<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 技術
    主站蜘蛛池模板: 亚洲综合精品一二三区在线| 免费看国产一级特黄aa大片| 亚洲精品伊人久久久久| 日韩免费在线观看视频| 久久青青成人亚洲精品| 18禁超污无遮挡无码免费网站| 毛片免费观看的视频在线| www.亚洲日本| 免费无码一区二区三区蜜桃大| 亚洲精品无码av片| 免费看一级做a爰片久久| 日本黄页网址在线看免费不卡| JLZZJLZZ亚洲乱熟无码| 亚洲免费视频网址| 大地资源免费更新在线播放 | 青柠影视在线观看免费高清 | 久久亚洲AV成人无码| 亚洲一级免费毛片| 亚洲精品人成无码中文毛片| 成人免费观看男女羞羞视频| 亚洲欧洲精品无码AV| 午夜视频免费在线观看| 亚洲裸男gv网站| 国产精品免费高清在线观看 | 日韩欧美亚洲国产精品字幕久久久| 国产免费啪嗒啪嗒视频看看| a在线视频免费观看在线视频三区| 亚洲人成网站在线播放vr| 99视频在线看观免费| 亚洲熟妇无码AV不卡在线播放| 国产成人无码免费视频97| 精选影视免费在线 | 噜噜噜亚洲色成人网站∨| 黄网址在线永久免费观看| 国产精品免费看久久久香蕉 | 亚洲精品老司机在线观看| 久久久久久AV无码免费网站 | 亚洲精品一卡2卡3卡三卡四卡| 在线观看免费亚洲| 亚洲av无码一区二区三区在线播放 | 亚洲aⅴ天堂av天堂无码麻豆|