XPathでJavaScriptで作成したXML文書にアクセスする必要があります。サーバーから(XMLHttpRequest経由で)XMLファイルをロードするとうまくいきますが、ローカルのXMLドキュメントからXMLドキュメント参照を使用すると、Chromeは何も表示しませんでした。ここGoogle ChromeのXPathバグ?
例コードのビット:
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<script type="text/javascript">
var xml = document.implementation.createDocument("", "", null);
var root = xml.createElement("root");
var level1 = xml.createElement("L1");
var level2 = xml.createElement("L2");
L2txt = xml.createTextNode("here is L2");
level2.appendChild(L2txt);
level1.appendChild(level2);
var level2 = xml.createElement("L2");
level2.setAttribute("id", "myId");
L2txt = xml.createTextNode("here is L2 with id");
level2.appendChild(L2txt);
level1.appendChild(level2);
root.appendChild(level1);
path="//L2[@id='myId']";
var nodes=xml.evaluate(path, root, null, XPathResult.ANY_TYPE, null);
var result=nodes.iterateNext();
while (result) {
document.write(result.textContent);
document.write("<br />");
result=nodes.iterateNext();
}
</script>
</body>
</html>
コード出力が "ここで、IDとL2である" べきです。
FF 9.0.1とChrome 16.0.912.75を使用すると、開発ツールにエラーやヒントが表示されません。
今は本当に知りませんが、それはChromeのバグですか、Firefoxの「特別な」機能ですか。そして、一番importent - Firefoxのように振る舞うためにChromeをどのように持ち込むことができますか?あるいは、ローカルに作成されたXML文書でXPathを使用する方法をもう一つ考えていますか?
ありがとうございます事前にありがとうございます
うわー、ありがとう、どうしてこんなに寂しかったのか分からないけど、Firefoxも古いバージョンを受け入れてくれた。Chromeはとても正しいと思われる;-) – guitar1