expat parser 사용, element handler에서의 XML_SetUserData()
글쓴이: stoneshim / 작성시간: 월, 2003/08/04 - 2:01오후
xml parser로 expat을 사용하고 있습니다.
XML_SetUserData( Parser, UserDataPtr );
XML_SetElementHandler( Parser, ... );
...
XML_Parse( Parser, Buffer, Length, 0 );
이런 식으로 사용하고 있는데요...
XML_Parse가 호출되어 XML_SetElementHandler() 로 등록된 callback 이 호출되는데, 이 callback 함수 내부에서, 다시 XML_SetUserData()를 호출하는 경우에 UserData가 제대로 setting되지 않더군요.
지금 제 상황에서는 위의 방식처럼 element Handler 함수 내부에서 XML_SetUserData()를 호출하여 UserData pointer를 변경하거나, 아니면 element Handler 함수 내부에서 xml parsing을 중단하는 방법이 있거나... 이런 상황입니다.
헌데. element handler 내부에서 parsing을 중단하는 방법은 못찾았고, XML_SetUserData()를 호출해도 다음에 호출되는 element handler에서 찍어보니 UserData pointer가 변경되지 않더군요.
expat을 사용해보셨던 분들께 조언 부탁드립니다.
Forums:
댓글 달기