是不是IE11不喜歡XPath查詢中的位置軸? 我正試圖在該瀏覽器中運行以下命令:
DOMDocument.selectNodes('//library/ancestor::store')
而IE11給我的錯誤是
。預期的令牌'ef'發現':'。
//library/ancestor-->:<--:商店
Chrome和其他瀏覽器都沒有問題,但IE11卻哭得像個孩子? 我一直在搜索,除了模糊地暗示瀏覽器可能使用了舊版本的MSXML之外,我真的找不到發生這種情況的原因。 有什么辦法可以讓它在該瀏覽器中作業嗎? 如果沒有,是否有一個可以使用的替代軸?
編輯:我想指出的一點是 - 這個問題不一定與xpath查詢是否有效有關。 IE11 并不是在抱怨查詢的有效性,它是在抱怨":: "位置軸。
thnx,
Christoph
uj5u.com熱心網友回復:
這個問題與你在IE中使用的MSXML版本有關。如果你使用MSXML 3.0,它將使用舊的XSLPattern語言作為查詢語言,這將導致這個問題。
作為一種變通方法,你可以使用MSXML 6.0,它默認使用XPath語言。在IE 11中的作業示例如下。我的books.xml與這個例子相同。
<!DOCTYPE html>
<html>
<body>
<p id="demo"/span>> </p>>
<script>
var txt = "";
var xmlDoc = new ActiveXObject("MSXML2.DOMDocument. .0"); //use MSXML 6.0
xmlDoc.async = false;
xmlDoc.load("books.xml"/span>)。
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>
如果你使用MSXML 3.0,你可以使用SelectionLanguage Property像下面這樣。它也可以在IE 11中使用:
var xmlDoc = new ActiveXObject("MSXML.DOMDocument")。
xmlDoc.setProperty("SelectionLanguage", "XPath");
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/320221.html
標籤:
