Internet explorer 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

IE11是否不喜欢XPath查询中的位置轴?我正在尝试在该浏览器中运行以下命令:

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");