2013-04-10 3 views
0

xml을 구문 분석하고 상태 값을 가져 오려고합니다. 상태가 인쇄되지 않는 이유는 무엇입니까?Ajax에서 xml 응답 구문 분석이 작동하지 않습니다.

내 코드에 뭔가 빠졌습니까? 여기 내 코드는 XML에 오류가있어

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>XML parsing cluster state </title> 

<script language="javascript" src="js/jquery.js"></script> 
<script language="javascript"> 


$(document).ready(function() 
{ 
    $.ajax({ 
    type: "GET", 
    // url: "cstate.xml", 
     url: "jquery_xml.xml", 
    dataType: "xml", 
    success: function(xml) { parseXml(xml); } 
    }); 
}); 

function parseXml(xml) 
{ 
    //find state and print the state 

    //test 1 
    $(xml).find("state").each(function() 
    { 
    $("#output").append($(this).text() + "<br />"); 
    }); 

//test 2  
    $(xml).find("cluster_info").each(function() 
    { 
    $("#output").append($(this).find("state").text()); 
    $("#output").append(": " + $(this).find("state").text() + "<br />"); 
    }); 

} 
</script> 


</head> 

<body> 


<div id="output"></div> 

</body> 
</html> 

XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<cluster_info> 
    <nodes> 
     <entry> 
      <key>Standby stuff</key> 
      <value> 
       <available_versions> 
        <available_version>62</available_version> 
       </available_versions> 
       <current_version>62</current_version> 
      </value> 
     </entry> 
    </nodes> 
    <target_state> 
     <available_versions> 
      <available_version>62</available_version> 
     </available_versions> 
     <current_version>62</current_version> 
    </target_state> 
    <new_versions> 
     <new_version>38</new_version> 
     <new_version>37</new_version> 
    </new_versions> 
    <removable_versions /> 
    <state>STABLE</state> 
</cluster_info> 
+0

오류가 있습니까? 귀하의 요청에 대한 답변을 얻었습니까? 귀하의 서버가 요청을 받습니까? 무슨 일이야? –

+0

success 함수를 사용하여 데이터가 xml 변수로 반환되는지 확인할 수 있습니까? 정확한 주소와 데이터를 반환하고 MIME 유형이 설정되어 있는지 확인하려고합니다. – Zach

답변

0

입니다 :

<state>STABLE</cluster> 

이 있어야 할이

<state>STABLE</state> 
+0

상태로 수정되었습니다. 여전히 출력을 얻지 못했습니다 – user244394

+0

이상한 .. 정확한 코드를 사용하여 로컬에서 테스트했고 STABLE이라는 단어를 인쇄했습니다 (정확히 3 번 총 :). 콘솔에 오류가 있는지 확인하십시오. 일부 경로가 잘못되었을 수 있습니다. – Kaloyan

0

Fiddle

이 작품은 훌륭합니다.

$(xml).find('state').each(function() { 
    $('body').text($(this).text()); 
}); 
관련 문제