다음 두 섹션에서는 비 SAX 및 SAX 기반 이벤트 기반 의 구문 분석 방법에 대한 아이디어를 살펴봅니다. 이 예제에서는 각각 외국인 (제임스 클라크의 외국인 파서의 C ++ 래퍼)과 xml4c2 (IBM의 C ++ XML 파서)를 사용합니다. IBM의 파서는 새로운 아파치 XML 프로젝트의 일부인 « Xerces »로 올해 말에 다시 출시될 예정입니다. 이러한 단계는 올바른 들여쓰기를 추적하여 XML 파일을 인쇄하는 다음 예제에서 볼 수 있습니다. 사용되는 인터페이스는 아래에 자세히 설명되어 있습니다. IBM의 xml4c2 설명서에서 SAXCount 예제를 볼 수도 있습니다. « Hello » 앞에 있는 선행 공간과 쉼표 다음의 이중 공백이 유지됩니다. 이 예에서와 같이 줄 피드가 보존됩니다: 예제에서 바이너리를 생성하는 데 필요한 컴파일 옵션 및 라이브러리 종속성을 얻는 것이 만드는 일부로 설치되어야 하는 xml2-config 스크립트를 사용하여 Linux/Unix에서 수행하는 것이 가장 좋습니다. 설치 단계 또는 libxml2 개발 패키지를 설치할 때: SAX 검토를 마무리하고 C++ XML 모듈의 시작점으로 사용할 수 있습니다. 추가 예제는 선택한 구현의 설명서를 검토하십시오. IBM의 xml4c2는 포괄적인 문서로 인해 권장됩니다. 다음 예제 파일인 NSExample.xml은 네임스페이스를 사용합니다.
다음 예제에서는 expatpp를 사용하여 문서 요소의 트리 뷰를 만듭니다. 이 문서의 나머지 예제와 달리 이 특정 프로그램은 Inprise C++ 빌더를 사용하여 구성되었으며 이 프로그램에 따라 다릅니다. 이 예제 스타일시트는 XSLSample.cpp를 입력하는 데 사용할 수 있습니다. 예제는 예제의 주요 초점에 따라 섹션당 저장됩니다. TinyXML-2는 쉽고 빠르게 배울 수 있도록 설계되었습니다. 그것은 하나의 헤더와 하나의 CPP 파일입니다. 프로젝트에 추가하기만 하면 됩니다. 시작하려면 예제 파일인 xmltest.cpp가 있습니다. 구문 분석 함수, 구문 분석 된 데이터를 저장하기위한 클래스 집합 및 사용 방법에 대한 예제 (트리 뷰를 기반으로하는 MFC 대화 상자)를 작성했습니다.
이 파서는 매우 간단하고 작동하기 위해 기본적인 기능만 가지고 있으며 멋진 물건이 없습니다. 몇 가지 제한 사항이 있습니다: 다양한 XML 파서 구현은 응용 프로그램 인터페이스에서 다릅니다. 예를 들어 한 파서는 요소의 시작 에 대해 처리자에게 알리고 요소의 이름만 전달한 다음 특성 처리를 위해 다른 호출을 요구할 수 있습니다.