XPath를 통해 JavaScript로 만든 XML 문서에 액세스해야합니다. XMLHttpRequest를 통해 서버에서 XML 파일을로드하면 제대로 작동하지만 Firefox가 예상했던대로 Chrome에서 아무 것도 표시하지 않은 로컬 XML 문서에서 XML 문서 참조를 사용합니다. 여기Google 크롬의 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 사용하고 크롬 16.0.912.75는 개발 도구가 오류 또는 힌트를 표시하지 않습니다 해요.
이제 Chrome의 버그인지 Firefox의 '추가 기능'인지 모릅니다. 그리고 대부분의 수입 - Firefox를 Firefox처럼 작동시킬 수있는 방법은 무엇입니까? 또는 로컬에서 생성 된 XML 문서에서 XPath를 사용하는 방법에 대한 아이디어가 있습니까? 사전
와우, 나는이 * 놓친 이유를 모르겠어요, 대단히 감사합니다 - * .. 잘하지만, 파이어 폭스는 이전 버전을 받아 ... 크롬은 매우 정확한 것으로 보인다 ;-) – guitar1