2013-03-06 4 views
1

코드의이 작은 자바 스크립트 코드 조각이 바로 그 순간에 모든 년 동안 잘 작동까지 내가 의 XPath 기능 selectNodes 8

xmlDoc=http_request.responseXML.documentElement; 
var nodes = xmlDoc.selectNodes('/rfp_object/category'); 

윈도우 8

설치 이후 나에게 화가하게 Windows에서 wordk하지 않지만, 사용하는 경우 지금은 문제를 충족 Windows 8. 오류 메시지 : selectNodes 속성 또는 메서드가이 개체에서 지원되지 않습니다.

크롬, 파이어 폭스, 사파리 및 윈도우 비스타에서 예상했던대로 작동합니다. 그러나 Windows 8에서는 그렇지 않습니다. 더 특이한 점은 XP 서버에서의 개발에서는 제대로 작동하지만 Windows Server 2008에서는 작동하지 않는다는 것입니다.

selectNodes를 getElementsByTagName ('category')로 변경하면 큰 효과가 있지만 옵션이 아닙니다. 다른 경우에 데이터를 필터링해야합니다.

그렇다면 Windows8 사용자가 제대로 작동하도록하려면 어떻게해야합니까? 도움이 될 것입니다 higly 감사하겠습니다.

Lourens 보낸

답변

0

나는 IE의 이전 버전과는 MSXML XML의 DOM 문서 동안 IE (10)가 responseXML 익스플로러의 XML의 DOM 문서하게 생각합니다. selectSingleNodeselectNodes 메서드는 MSXML DOM API에는 포함되어 있지만 IE DOM API에는 포함되어 있지 않습니다. 난 당신이 다음 doc 변수에 selectNodes을 사용하려면

var doc = new ActiveXObject('Msxml2.DOMDocument.6.0'); 
doc.loadXML(new XMLSerializer().serializeToString(http_request.responseXML)); 

의 라인을 따라 MSXML DOM 문서로 responseXML을 변환 할 여부를 결정해야합니다 그래서 IE는 DOM 문서에 XPath에 지원을 제공합니다 생각하지 않는다 또는 메소드 IE가 getElementsByTagName과 같은 기능을 제공하는지 여부를 확인하고 querySelector를 사용하여 찾고있는 것을 찾을 수있게하거나 https://github.com/ilinsky/xpath.js과 같은 XPath의 Javascript 구현으로 원하는 쿼리를 작성할 수 있는지 여부를 확인해야합니다.