1
무엇 임 내 그리스 몽키 스크립트로 일을하려고하는 것은 먼 XML-문서에서 요소를 얻기 위해 XPath를 사용하여 :그리스 몽키 :
먼 XML 문서를 읽을;
XML 개체로 변환하십시오.
그런 다음 XPath를 사용하여 요소를 가져옵니다.
하지만 는 ("XPath 식을") 평가하지 않습니다. 어떤 제안? 아래의 코드를 참조하십시오 :
GM_xmlhttpRequest({
method: "GET",
url: "http://www.someserver.com/atom.xml",
onload: function(response) {
if (!response.responseXML) {
var xmlDoc = new DOMParser().parseFromString(response.responseText, "application/xml");
}
// this section works fine and returns the data of the first <entry>..</entry>
var snapEntries = xmlDoc.getElementsByTagName("entry");
alert (snapEntries[0].data);
// this section doesn't work for unknown reason and returns nothing
var snapEntriesXpath = xmlDoc.evaluate("//entry", xmlDoc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
alert (snapEntriesXpath.snapshotItem(0).data);
}
});
no. 그것은 XPath 평가가 아닌 이유입니다. 위의 코드에서 경고 (snapEntries.length) 및 경고 (snapEntriesXpath.snapshotLength)를 추가 할 수 있습니다. 첫 번째 경우에는 항목 수가 다시 계산되고 두 번째 항목에서는 0이 반환됩니다. – user1199523
XML 문서는 사용자가 생각하는 것이 아니며 'evaluate' 문을 편집 한 것입니다. 이 코드는 적절한 XML 문서에서 작동합니다. XPath는 대소 문자를 구분합니다. 요청 된 정보를 제공하십시오. –
확인. XML 문서에 문제가있을 것입니다 (단, 표준 블로거 피드 아톰 임). 글쎄, 내게는 * response.responseText *를 정규식을 사용하여 구문 분석하는 것이 훨씬 빠르다. :) – user1199523