2012-08-23 5 views
2

다음 코드를 사용하여 로컬에있는 하나의 xml 파일을 읽습니다. 그러나 xmldoc의 객체를 표시하지 않습니다. 내 코드는 내가자바 스크립트를 사용하여 xml 파일 읽기

+2

AJAX 비동기입니다. xmlDoc이로드 될 때까지 기다린 다음 응답 데이터를 구문 분석하십시오. –

+0

죄송합니다. 나는 u를 얻을 수 없습니다.이 파일을 다른 파일로 다운로드해야합니까?. xmlDoc이로드 될 때까지 기다리는 것이 무엇을 의미합니다. Pls help –

+0

이것은 AJAX의 기초입니다. AJAX 튜토리얼을 찾을 것을 권장합니다. 내가 할 수있는 것보다 더 잘 설명 할 것이다. –

답변

9

더 나은 사용 JQuery와 함수를 사전에 기능 f1.Thanks를 호출하는 경우

function loadXMLDoc(XMLname) 
{ 
    var xmlDoc; 
    if (window.XMLHttpRequest) 
    { 
    xmlDoc=new window.XMLHttpRequest(); 
    xmlDoc.open("GET",XMLname,false); 
    xmlDoc.send(""); 
    return xmlDoc.responseXML; 
    } 

    else if (ActiveXObject("Microsoft.XMLDOM")) 
    { 
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
    xmlDoc.async=false; 
    xmlDoc.load(XMLname); 
    return xmlDoc; 
    } 
    alert("Error loading document!"); 
    return null; 
    } 



    function f1() 
    { 
    var xmlDoc=loadXMLDoc(“test.xml”) 
    var M = xmlDoc.getElementsByTagName(“article”); 
    alert(M); 
    } 

그것의이 경고를 표시하지 않습니다. 나를 위해 그것의 일 벌금.

<script src="jquery.js" type="text/javascript"></script> 
<script> 
$(document).ready(function(){ 
$.ajax({ 
    type: "GET", 
    url: "read2.xml", 
    dataType: "xml", 
    success: function(xml) { 
     $(xml).find('site').each(function(){ 

      var id = $(this).attr('id'); 
      var title = $(this).find('title').text(); 
      var url = $(this).find('url').text(); 
      $(this).find('desc').each(function() 
      { 
       var brief = $(this).find('brief').text(); 
       var long = $(this).find('long').text(); 
       alert("my "+brief); 
       alert("my "+long); 

      }); 
     }); 
    } 
}); 
}); 

그리고 XML 파일 형식은 내 TITLE1

될 것 URL1

BRF 1 긴 1

BRF 2 긴 2

관련 문제