文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院专栏firefoxFireFox对XML的处理兼容IE的节点处理方法
精品推荐
特别推荐
·下载:Firefox 4.0 Alpha 1 Pre版
·推荐一些实用的Firefox扩展
·帮你解决Firefox无节制内存占用的问题
·不可或缺 20个必备的Firefox插件
·提高做火狐firefox推介效果的技巧代码
·Firefox v2.0.0.9 简体中文版下载
·Javascript在IE和FireFox中的不同表现
·Firefox火狐浏览器常用快捷键大全
·Firefox明年目标:30%市场份额
·101件Firefox能而IE不能做的事
·常用技巧:解决Firefox启动慢的四种方法
·让IE也拥有Firefox的七大最强武器
·Firefox 浏览器实用应用技巧六则
·提高浏览体验的五十个FireFox扩展
·巧用插件 让Firefox也用上Web迅雷
·快速掌握使用Firefox技巧问答
·没有不可能 让Firefox也用上Web迅雷
·innerHTML在Firefox和Opera下的执行特例
·FireFox 如何用Javascript 修改状态栏
·实现IE收藏夹和Firefox书签互换
热点TOP10
·实现IE收藏夹和Firefox书签互换
·下载:Firefox 4.0 Alpha 1 Pre版
·innerHTML在Firefox和Opera下的执行特例
·纯CSS的下拉菜单 支持IE6 IE7 Firefox
·分享个极好的无刷新二级联动下拉列表,同样适用与firefox
·firefox FTP合二为一 工作省心又方便
·优化firefox提高上网浏览速度
·支持IE6 IE7 Firefox的纯CSS的下拉菜单
·火狐firefox FTP合二为一 工作省心又方便
·Firefox 必装的几款 NB 插件
·Firefox 使用常见问题和解决方法
·不可或缺 20个必备的Firefox插件
·FireFox对XML的处理兼容IE的节点处理方法
·IE和Firefox在JavaScript方面的兼容性
·换种思路 让Firefox用上迅雷下载
·没有不可能 让Firefox也用上Web迅雷
·解决Firefox上网看不了Flash网页的问题
·Firefox的32个插件介绍
·FireFox使用的几个好用的绝招
·推荐一些实用的Firefox扩展

FireFox对XML的处理兼容IE的节点处理方法

日期:2008年1月13日 作者: 查看:[大字体 中字体 小字体]


使FirefoxXML的处理兼容IE的节点处理方法。具体代码列出如下。

免费下载 Firefox 最安全浏览

具体代码如下。

<! 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的支持还是有限度的。

(出处:清风下载学院






上一篇:JavaScript使IE的经典异常 代码

下一篇:时间和日期的各种格式的特效代码

FireFox对XML的处理兼容IE的节点处理方法 相关文章:
·WinRAR 3.70正式版发布 完美兼容Vista
·电源不认硬盘?浅谈电源的兼容性
·FireFox对XML的处理兼容IE的节点处理方法
·IE和Firefox在JavaScript方面的兼容性
·xP下解决软件不兼容问题小窍门
·Office for MAC 2008今日发布 兼容性强
·兼容 IE 和 FF 的换行 CSS 推荐样式
·常见硬件不兼容的典型故障解决方案
·CSS在IE与Firefox下的兼容性
·兼容低版本 IE 的 JScript 5.5 实现
FireFox对XML的处理兼容IE的节点处理方法 相关软件:
·《连连看》豪华兼容版
·暗影狂奔-Vista版免CD补丁+XP系统兼容补丁
·《梦幻西游》兼容补丁

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn