Internet explorer IE11中的XPath位置轴
IE11是否不喜欢XPath查询中的位置轴?我正在尝试在该浏览器中运行以下命令:Internet explorer IE11中的XPath位置轴,internet-explorer,xpath,Internet Explorer,Xpath,IE11是否不喜欢XPath查询中的位置轴?我正在尝试在该浏览器中运行以下命令: DOMDocument.selectNodes('//library/ancestor::stores') IE11给我的错误是 Expected token 'eof' found ':'. //library/ancestor-->:<--:stores 找到了预期的标记“eof”:。 //库/祖先-->:问题与您在IE中使用的MSXML版本有关。如果使用MSXML 3.0,它将使用旧的XSL
DOMDocument.selectNodes('//library/ancestor::stores')
IE11给我的错误是
Expected token 'eof' found ':'.
//library/ancestor-->:<--:stores
找到了预期的标记“eof”:。
//库/祖先-->:问题与您在IE中使用的MSXML版本有关。如果使用MSXML 3.0,它将使用旧的XSLPattern语言作为查询语言,这将导致问题
作为一种变通方法,您可以使用默认使用XPath语言的MSXML6.0。IE 11中的工作示例如下所示。Mybooks.xml与以下内容相同:
这有帮助吗:?不,没有。这是我在寻找答案时遇到的帖子之一。所有这些似乎都是服务器端代码,除了它们都是MS产品这一事实之外,实际上与浏览器本身没有任何关系。嗨,关于这个问题有什么更新吗?我下面的回答是否有助于解决问题?
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var txt = "";
var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.6.0"); //use MSXML 6.0
xmlDoc.async = false;
xmlDoc.load("books.xml");
var nodes = xmlDoc.selectNodes('/bookstore/book/child::title');
for (i = 0; i < nodes.length; i++) {
txt += nodes[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;
</script>
</body>
</html>
var xmlDoc = new ActiveXObject("MSXML.DOMDocument");
xmlDoc.setProperty("SelectionLanguage", "XPath");