<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 閱讀(2324) 評論(0)  編輯  收藏 所屬分類: DHTML和JAVASCRIPT 技術
    主站蜘蛛池模板: 一个人看的免费视频www在线高清动漫 | 日本免费无遮挡吸乳视频电影| 亚洲成色WWW久久网站| 一个人晚上在线观看的免费视频 | 国产免费播放一区二区| 国产免费人人看大香伊| 国产尤物在线视精品在亚洲| 在线精品免费视频| 国产亚洲人成在线播放| 免费h黄肉动漫在线观看| 农村寡妇一级毛片免费看视频| 波多野结衣中文一区二区免费| 亚洲国产精品无码久久98| 女人被男人桶得好爽免费视频| 亚洲欧美日韩中文无线码| 国产男女猛烈无遮挡免费视频| 老司机午夜精品视频在线观看免费| 在线观看91精品国产不卡免费| 黄网站色视频免费观看45分钟| 亚洲色婷婷综合开心网| a在线观看免费网址大全| 久久精品国产亚洲av影院| 国产成人无码免费看视频软件| 亚洲最大的成人网站| 四虎永久免费地址在线网站| 人人爽人人爽人人片av免费| 亚洲精品乱码久久久久久久久久久久 | 色拍自拍亚洲综合图区| 曰批全过程免费视频在线观看| 久久久久久亚洲精品无码| 国产午夜亚洲精品午夜鲁丝片| 免费A级毛片无码A∨| 亚洲国产精品成人AV在线| 亚洲欭美日韩颜射在线二| 国产精品久久免费| 日韩一区二区三区免费播放| 亚洲宅男永久在线| 国产黄色片在线免费观看| 免费黄网站在线看| 亚洲av永久无码一区二区三区| 亚洲女同成av人片在线观看|