expat은 handler를 기반으로 작동한다.
특정 이벤트에 작동하는 핸들러를 등록하여 그 값을 뺴내는데
이벤트(?)는 아래의 SetHandler 함수로 등록을 한다.

StartElement는 <tag>
EndElement는 </tag> 에
대해서 값을 받아 오도록 한다.

[링크 : http://www.hpc.wm.edu/SciClone/documentation/software/misc/expat/reference.html]

머.. 일단 실행은 해보고 -ㅁ-?
Start와 End는 확실한데.. 다른건 좀 일단 실험을... ㅠ.ㅠ

XML_SetElementHandler 는 XML_SetStartElementHandler 보다 우선하고,
static void XMLCALL ElementHandler (void *userData, const XML_Char *name, const XML_Char **atts)
에서 name은 XML_SetStartElementHandler 에서 리턴하는 것과 같고
atts는 몇 개인지 알수는 없으므로  atts[idx] != NULL 일때 까지 돌리는수 밖에 없다.

원본데이터
<ns0:feed xmlns:ns00="http://www.w3.org/2005/Atom">

결과물
name[ns0:feed]
atts[xmlns:ns0] atts[http://www.w3.org/2005/Atom]

atts[idx]

'프로그램 사용 > expat & XML' 카테고리의 다른 글

xml 트리 탐색 - XML tree navigation  (0) 2010.04.17
expat XML_SetCharacterDataHandler() function  (0) 2010.04.09
&amp; &lt; &gt; &quot; 는 머지?  (0) 2010.03.31
expat-2.0.1 example  (11) 2010.03.23
expat  (4) 2010.03.21
Posted by 구차니