XMLHttpRequest를 사용하여 responseXML 사용 시 주의점

예전 메모인데,..
xml 작성 규칙에 대한 얘기임.
xml 작성 시 root node는 필수로 하나 있어야 함-

=============

AJAX를 사용하여 서버에서 XML 형식으로 response를 작성하여 넘겼을 때,
응답으로부터 받아온 responseXML을 getElementsByTagName으로 파싱하여 사용하려고 했다.
BUT, 전체를 감싸는 태그 없이 xml을 작성하였을 경우, tag 배열이 읽히지 않는 오류가 발생하였다.(IE 7)

(예1)
<user>
    <id>01</id>
    <name>ahn</name>
</user>
<user>
    <id>02</id>
    <name>hong</name>
</user>

(예1)과 같은 형태의 XML을 작성하여 서버에서 응답하였을 때,
var users = xmlHttp.getElementsByTagName("user"); 를 사용하여 불러오면 제대로 불려지지 않는다.
이를 아래와 같이 수정했다.

(예2)
<response>
    <user>
       <id>01</id>
       ..(중략)..
    </user>
</response>

(예2)와 같이 response로 전체 태그를 감싸주자 user에 대한 getElementsByTagName이 정상적으로 불려진다.

아마도 XML을 작성하는 규칙이 있을 것 같은데,..
이거에 대한 건 좀더 연구를 해봐야겠다~
혹시 아는 사람 있으면 설명해주오.
 
 

01/22
항상 Root Node 가 있어야 하는거 아니야?

카테고리

분류 전체보기 (710)
About me. (6)
Daylogs (675)
영어공부 (0)
My works - 추억 (29)
비공개 (0)