欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

xpath IE 7

发布时间:2025/4/16 编程问答 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 xpath IE 7 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、

https://msdn.microsoft.com/zh-cn/library/ms756048(v=vs.85).aspx

 

XML内容(example.xml):

1 <?xml version="1.0"?> 2 <root> 3 <branch>branch</branch> 4 <a:root xmlns:a="http://myserver.com"> 5 <a:branch>a-branch</a:branch> 6 <b:branch xmlns:b="http://yourserver.com"> 7 b-branch 8 </b:branch> 9 </a:root> 10 </root>

 

JS 代码:

1 window.onload = function() 2 { 3 //* 4 var dom = new ActiveXObject("MSXML2.DOMDocument.6.0"); 5 dom.async= false; 6 dom.validateOnParse = false; 7 //dom.load("example.xml"); // 加载 xml文件 8 dom.loadXML(g_strXML);  // 加载 xml字符串 9 if (dom.parseError.errorCode!=0) 10 { 11 alert("can't load dom" + dom.parseError.reason); 12 exit; 13 } 14 //*/ 15 console.log("dom : '"+dom+"' , "+typeof dom); 16 /* for (var z in dom) // ZC: 这个dom不能使用这个方式取得它的属性/方法,会报错:"对象不支持此操作" 17 { 18 console.log(z); 19 } 20 //*/ 21 //* // *** *** *** 22 ns = "xmlns:na='http://myserver.com' xmlns:nb='http://yourserver.com'"; 23 24 console.log("ns:(before setProperty())\n "+dom.getProperty("SelectionNamespaces")); // DOMParser不能使用这种方式来检索带命名空间的节点,∵它只有一个方法 parseFromString,没有getProperty/setProperty方法 25 console.log(""); 26 27 dom.setProperty("SelectionNamespaces", ns); 28 console.log("ns:(after setProperty())\n "+dom.getProperty("SelectionNamespaces")); 29 console.log(""); 30 31 node = dom.selectSingleNode("//root"); 32 console.log("root: \n"+node.xml); 33 //alert("root: \n"+node.xml); 34 console.log(""); 35 36 node = dom.selectSingleNode("//na:root"); 37 console.log("a:root: \n"+node.xml); 38 console.log(""); 39 40 node = dom.selectSingleNode("//branch"); 41 console.log("branch: \n"+node.xml); 42 console.log(""); 43 44 node = dom.selectSingleNode("//na:branch"); 45 console.log("a:branch: \n"+node.xml); 46 console.log(""); 47 48 node = dom.selectSingleNode("//nb:branch"); 49 console.log("b:branch: \n"+node.xml); 50 //alert("b:branch: \n"+node.xml); 51 //*/ 52 };

 

输出:

“console.log("dom : '"+dom+"' , "+typeof dom);”的输出为:

日志: dom : '' , object

 

其他输出为(alert的输出,是和下面的值一样的。但是,IE7的console打印出来的值,每次console.log的信息最后都会烧掉一些...):

1 ns:(before setProperty()) 2 ns:(after setProperty()) 3 xmlns:na='http://myserver.com' xmlns:nb='http://yourserver.com' 4 5 root: 6 <root> 7 <branch>branch</branch> 8 <a:root xmlns:a="http://myserver.com"> 9 <a:branch>a-branch</a:branch> 10 <b:branch xmlns:b="http://yourserver.com"> 11 b-branch 12 </b:branch> 13 </a:root> 14 </root> 15 16 a:root: 17 <a:root xmlns:a="http://myserver.com"> 18 <a:branch>a-branch</a:branch> 19 <b:branch xmlns:b="http://yourserver.com"> 20 b-branch 21 </b:branch> 22 </a:root> 23 24 branch: 25 <branch>branch</branch> 26 27 a:branch: 28 <a:branch xmlns:a="http://myserver.com">a-branch</a:branch> 29 30 b:branch: 31 <b:branch xmlns:b="http://yourserver.com"> 32 b-branch 33 </b:branch>

 

 

2、

http://www.w3school.com.cn/xmldom/dom_errors.asp

parseError 对象的属性

属性描述
errorCode返回一个长整型错误码。
reason返回包含错误原因的字符串。
line返回表示错误行号的长整型。
linepos返回表示错误的行位置的长整型。
srcText返回包含引起错误的行的字符串。
url返回指向被加载文档的 URL。
filepos返回错误的一个长整型文件位置。

 

 

 

ZC-1:

(1)、上面的方式,xml 的 dom 都是通过"new ActiveXObject("MSXML2.DOMDocument.6.0");"得到的。

(2)、SVG内嵌html5的方式(https://msdn.microsoft.com/zh-cn/library/gg589526(v=vs.85).aspx) 的情况下,例如 如下代码:

 

这种情况下,如何得到 xml的dom?得不到xml的dom也就不能用 selectSingleNode(...)和selectNodes(...) ...

(3)、我暂时还不知道怎么处理这种方式...暂时是使用的 js原生函数 querySelector(css选择器) 和 querySelectorAll(css选择器) 来完成相关选择节点的工作的。

 

 

C

 

转载于:https://www.cnblogs.com/codeskilla/p/5002964.html

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的xpath IE 7的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。