Python을 사용하지 않아서 잘 모르겠지만, 구차니님의 설명대로라면 Python 2.6에서는 eXpat를 XML 기본 파서로 내장하고 있다고 한다.
뭐 그만큼 신뢰가 있는 Parser란 이야기겠지....
eXpat는 EUC_KR을 지원하지 않기 때문에(요즘은 UTF8/Unicode가 대세인듯) 한글을 사용하려면 iconv 라이브러리등을 이용해서 UTF-8로 변경 후 사용해야 한다.
exPat 링크 : The Expat XML Parser
expat를 이용한 xml 데이터처리 - C
Using Expat
xmltools: command-line tools for XML
대략적인 사용방법은 아래와 같이......
int main(int argc, char **argv) { // xml 파서를 생성한다. XML_Parser p = XML_ParserCreate(NULL); if (! p) { fprintf(stderr, "Couldn't allocate memory for parser\n"); exit(-1); } // xml의 element를 만났을 때 호출될 함수를 등록한다. // start는 처음태그, end는 마지막 태그를 만났을 때 호출된다. XML_SetElementHandler(p, start, end); // 실제 데이터 (예 : <tag>data</tag>의 data)를 처리하기 위해서 // 호출될 함수를 등록한다. XML_SetCharacterDataHandler(p, parser); for (;;) { int done; int len; len = fread(Buff, 1, BUFFSIZE, stdin); if (ferror(stdin)) { fprintf(stderr, "Read error\n"); exit(-1); } done = feof(stdin); if (! XML_Parse(p, Buff, len, done)) { fprintf(stderr, "Parse error at line %d:\n%s\n", XML_GetCurrentLineNumber(p), XML_ErrorString(XML_GetErrorCode(p))); exit(-1); } if (done) break; } printf("\n\n리스트의 크기 : %d\n", user_num); return 0; }
소스출처 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/XML/expat_xml