0
我正在嘗試使用XPath提取XML。它適用於Firefox和Chrome,但它不適用於IE9。是否有一些訣竅或黑客應該做?你可以看到它here。Xpath與Internet Explorer不兼容
下面是HTML:
<!DOCTYPE html>
<html>
<body>
<script>
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}
//xml=loadXMLDoc("productfeed-production-version_sample.xml");
xml=loadXMLDoc("data.xml");
//path="/Products/Product/Category"
path="root/article[3]/Price"
// code for IE
if (window.ActiveXObject)
{
var nodes=xml.selectNodes(path);
for (i=0;i<nodes.length;i++)
{
document.write(nodes[i].childNodes[0].nodeValue);
document.write("<br>");
}
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
var nodes=xml.evaluate(path, xml, null, XPathResult.ANY_TYPE, null);
var result=nodes.iterateNext();
while (result)
{
document.write(result.childNodes[0].nodeValue);
document.write("<br>");
result=nodes.iterateNext();
}
}
</script>
</body>
</html>
下面是XML文件:
<?xml version="1.0" encoding="iso-8859-1"?>
<root>
<article>
<title>Best of the West - Édition Été 2013</title>
<description>Un voyage dans l'Ouest américain est sans aucun doute ce qu'il y a de mieux pour qui veut se rendre aux Etats-Unis! Vous y transiterez par trois des villes les plus branchées...</description>
<url>http://www.connections.be</url>
<urltext>Visit the Site: connections.be</urltext>
<Price>199,99</Price>
</article>
<article>
<title>Hôtel Yotel</title>
<description>Prenez le concept des hôtels capsule japonais, ajoutez-y le meilleur de la première classe des avions, saupoudrez le tout avec un style urbain et tendance,...</description>
<url>http://www.connections.be</url>
<urltext>Learn more</urltext>
<Price>199,99</Price>
</article>
<article>
<title>Essential Thailand</title>
<description>Ce programme individuel, idéal pour un premier voyage en Thaïlande, vous emmène à la découverte des points d'orgue de Bangkok et de Chiang Mai.</description>
<url>http://www.connections.be</url>
<urltext>Continue Reading...</urltext>
<Price>199,99</Price>
</article>
</root>
當你說「它不工作」時,IE 9發生了什麼?我在這裏有IE 10,並且說'selectNodes'方法不被支持。我知道如何通過確保HTTP請求不是用'XMLHttpRequest'完成的,而是用'new ActiveXObject('Msxml2.DOMDocument.6.0')''完成的,以便'responseXML'是一個MSXML DOM文檔,它支持帶有'selectNodes'的XPath但我目前不確定遇到與IE 9遇到的問題。因此,請提供一些關於您獲得的錯誤的詳細信息,如果有的話。 –