prosource

AJAX / Jquery XML 구문 분석

probook 2023. 9. 25. 22:49
반응형

AJAX / Jquery XML 구문 분석

다음과 같은 유형의 XML(getMembers.php의 데이터)을 구문 분석합니다.

<?xml version="1.0" encoding="ISO-8859-1"?>
<members>
   <id>3422345</id>
   <name>Bill Gates</name>
   <id>232311</id>
   <name>Bob Barker</name>
</members>

그리고 나는 아래의 코드를 파싱하는데 사용합니다.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            type: "GET",
            url: "getMembers.php",
            cache: false,
            dataType: "xml",
            success: function(xml) {
                $(xml).find('members').each(function(){
                    var name = $(this).find("name").text()
                    alert(name);
                });
            }
        });
    });
</script>

오류는 없지만 두 이름이 동시에 나옵니다.

좋아요:

빌 게이츠 밥 바커 <--첫 번째 루프>

대신에

빌 게이츠 <--첫번째 루프>

밥 바커 <--세컨드 루프>

어떤 도움이라도 주시면 감사하겠습니다!

이름이 아니라 구성원들에 대해 반복하시는 것 같습니다.

success: function(xml) {
                $(xml).find('members').each(function(){
                    $(this).find("name").each(function(){
                        var name = $(this).text();
                        alert(name);
                    });
                });
            }

또는 XML은 다음과 같이 표시되어야 합니다.

<members>
   <id>3422345</id>
   <name>Bill Gates</name>
</members>
<members>
   <id>232311</id>
   <name>Bob Barker</name>
</members>

이렇게 하면 이름이 표시됩니다.

<script type="text/javascript">
$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "getMembers.php",
        cache: false,
        dataType: "xml",
        success: function(xml) {
            $(xml).find('name').each(function(){
                        var name = $(this).text();
                        alert(name);
            });
        }
    });
});

XML 데이터를 성공적으로 구문 분석했는지 궁금할 뿐입니다.

유효한 XML 형식은 다음과 같습니다.

<?xml version="1.0" encoding="ISO-8859-1"?>
<members>
  <member>
   <id>3422345</id>
   <name>Bill Gates</name>
  </member>
  <member>
   <id>232311</id>
   <name>Bob Barker</name>
 </member>
</members>

언급URL : https://stackoverflow.com/questions/10223865/ajax-jquery-xml-parse

반응형