Oh.simpleXMLParser 객체는 간단한 XML을 파싱하여 객체로 만들어준다. 이 객체에는 parse와 scanner라는 메쏘드를 갖는데 이중 scanner는 parse가 호출하여 사용하는 메써드로 직접 호출할 필요는 없다.
parse이 메써드는 XMLDocument 객체를 인자로 받는다. 흔히
Ajax와 함께 사용하는데 그 예를 보면 다음과 같다
var f = function(req) {
var result = Oh.simpleXMLParser(req.responseText)
}
Oh.Ajax.request("member.xml", f)
위에서 받아온 XML 파일이 다음과 같다고 하자..
<memberinfo>
<member>
<name>한길</name>
<email>hangulee@gmail.com</email>
</member>
<member>
<name>철수</name>
<email>cholsu@test.com</email>
</member>
</memberinfo>
그렇다면 위의
result변수에 담긴 객체는 다음처럼 생성한것이 된다
var result = {
memberinfo : {
member : [
{ name : "한길" , email : "hangulee@gmail.com" } ,
{ name : "철수" , email : "cholsu@test.com" }
]
}
}
보고 눈치챘겠지만 한가지 제약이 있다. XML요소의 속성은 파싱에서 고려하지 않는다. 단지 요소만으로 이루어진 아주 간단한 XML문서만을 사용한다.
그리고 결과물에 대해서도 같은 이름의 요소가 둘 이상이면 배열로, 하나면 바로 문자열로 이름에 대한 값을 저장한다.