2009-05-22 3 views
0

Ajax를 통해 XML을로드 중입니다. 여기 Ajax를 통해 E4X를 통해 프로세스 XML이 반환 되었습니까?

스크립트의 코드 조각입니다 :

ajaxRequest.onreadystatechange = function() 
    { 
     if(ajaxRequest.readyState == 4) 
     { 
      document.getElementById('loading').innerHTML = 'done'; 
      google_xml = ajaxRequest.responseXML; 
      document.getElementById('xml').innerHTML = 'XML: '+google_xml.toXMLString(); 
     } 
    } 

내가 로딩 오전 페이지는 XML 파일이며, 파일을로드하기 때문에 경우 I 경고 (ajaxRequest.responseText); 나는 그것을 참조. 그러나 XML로 처리하는 방법을 잘 모르겠다. 위의 스크립트는 XML을 < div id = "xml"> </div> 요소에 문자열로 넣을 것이라고 생각했지만 그렇지 않았다.

나는 E4X를 사용하여 Actionscript에서 XML을 많이 처리했지만 JS에서는 절대로 사용하지 않았다. 누군가 나에게 힌트를 줄 수 있는가? 감사!

답변

3

어떤 브라우저를 사용하고 있는지 확실하지 않지만 Firefox is currently the only browser with good support for E4X입니다. 비록,이 대답에 확장

, 당신은 대안을 인식 할 수 있습니다 :

그냥 E4X로, 브라우저에서 XML을 구문 분석에 대한 지원의 많음이있다. jQuery를 사용하고 dataType : XML을 사용할 수 있습니다. xml.com/pub/a/을 참조하십시오.

+0

정말요? 그게 진절머리 나는 .. 내가 무슨 브라우저를 쓰든 상관 없다. 내 사용자가 아니야. 내 응용 프로그램에 커다란 함몰이 생긴다. : –

+1

E4X가 아닌 브라우저에서 XML을 구문 분석 할 수있는 많은 지원이 있습니다. jQuery를 사용하고 dataType : XML을 사용할 수 있습니다. http://www.xml.com/pub/a/2007/10을 참조하십시오. /10/jquery-and-xml.html – cgp

0

이미 요청이 채워진 후 DOM 지원이있는 XML 객체 인 xhr.responseXML 만 사용하십시오. 브라우저가 XmlHttpRequest 개체를 지원하면이 작업이 직접 작동합니다. 또한 IIRC, jQuery를 사용하여 객체를 감쌀 수 있으며 객체를 탐색하기 위해 자체 find/each 메소드를 사용할 수 있습니다. 이 같은 질문을 한 후 따르는 사람들을 위해

1

:

VAR X = 새로운 XML ('<XML> 문자열 값 </XML >');

... 이제 x 값은 E4X로 조작 할 수있는 xml 개체입니다!

관련 문제