欢迎来到天天文库
浏览记录
ID:32366549
大小:70.30 KB
页数:3页
时间:2019-02-03
《js中使用xpath来解析xml元素》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、XPATH简介XPath是用于在XML文档中查找信息的语言。XPath用于为XML文档中的元素和属性提供导航。·XPath是一种用于定义XML文档的语法·XPath使用路径表达式对XML文档中的元素进行导航·XPath包含一个标准函数库XPATH示例参考:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html参考:http://www.w3school.com.cn/xpath/index.aspAjax开发中selectNodes方法和selectSingleNod
2、e方法的应用(现在它们只适用于IE)服务器端示例(只包含相关代码):resp.setContentType("text/xml;charset=utf-8");resp.getWriter().println("朱元璋18");客户端示例(只包含相关代码):vardom1=request.responseXML.documentElement;//vara=dom1.selectNodes("/resume/name");//a为数组//alert(a[0]
3、.firstChild.data);vara=dom1.selectSingleNode("/resume/name");alert(a.firstChild.data);通过prototype属性解决selectNodes方法和selectSingleNode方法浏览器差异问题建立selectNode.js文件:/**引入本js后,通过prototype解决了原来存在的浏览器差异的问题。*///checkforXPathimplementationif(document.implementation.hasFeature("XPath"
4、,"3.0")){//prototyingtheXMLDocumentXMLDocument.prototype.selectNodes=function(cXPathString,xNode){if(!xNode){xNode=this;}varoNSResolver=this.createNSResolver(this.documentElement)varaItems=this.evaluate(cXPathString,xNode,oNSResolver,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE
5、,null)varaResult=[];for(vari=0;i6、is);}else{throw"ForXMLElementsOnly";}}}//checkforXPathimplementationif(document.implementation.hasFeature("XPath","3.0")){//prototyingtheXMLDocumentXMLDocument.prototype.selectSingleNode=function(cXPathString,xNode){if(!xNode){xNode=this;}varxItems=this.selectNodes(cXPath7、String,xNode);if(xItems.length>0){returnxItems[0];}else{returnnull;}}//prototyingtheElementElement.prototype.selectSingleNode=function(cXPathString){if(this.ownerDocument.selectSingleNode){returnthis.ownerDocument.selectSingleNode(cXPathString,this);}else{throw"ForXMLElem8、entsOnly";}}}然后在相关的jsp或html中引入本js即可。selectNodes和selectSingleNode使用方法同上,没有任何变化。
6、is);}else{throw"ForXMLElementsOnly";}}}//checkforXPathimplementationif(document.implementation.hasFeature("XPath","3.0")){//prototyingtheXMLDocumentXMLDocument.prototype.selectSingleNode=function(cXPathString,xNode){if(!xNode){xNode=this;}varxItems=this.selectNodes(cXPath
7、String,xNode);if(xItems.length>0){returnxItems[0];}else{returnnull;}}//prototyingtheElementElement.prototype.selectSingleNode=function(cXPathString){if(this.ownerDocument.selectSingleNode){returnthis.ownerDocument.selectSingleNode(cXPathString,this);}else{throw"ForXMLElem
8、entsOnly";}}}然后在相关的jsp或html中引入本js即可。selectNodes和selectSingleNode使用方法同上,没有任何变化。
此文档下载收益归作者所有