mfc xml 파싱 예제

CMarkup는 500Mhz 컴퓨터에서 약 40밀리초(1/25초)의 250k play.xml 샘플 문서를 단일 문자열로 잡고 6343 요소의 맵에 약 200k를 할당합니다. 그 때부터 탐색은 구문 분석이 필요하지 않습니다. 일반적으로 인덱스 맵은 문서와 거의 동일한 양의 메모리를 차지하므로 CMarkup 개체의 메모리 공간은 문서 크기의 약 2배를 차지해야 합니다. 문서의 각 요소에 대해 8개의 정수(32바이트)의 구조체가 유지됩니다. 특정 일련 번호가 있는 항목을 찾으려면 ITEM 요소를 반복하고 SN 요소 데이터를 검색중인 일련 번호와 비교할 수 있습니다. 이 예제는 IntoElem을 호출하여 ORDER 요소로 이동하여 FindChildElem(« ITEM ») 대신 FindElem(« ITEM »)을 사용하도록 호출하여 원래 탐색 예제와 다릅니다. 어느 쪽이든 괜찮습니다. 또한 Find 메서드에서 « ITEM » 요소 태그 이름을 지정하면 SHIPMENT 요소와 같은 다른 모든 형제 요소를 무시합니다. 예제로 제공되는 XML 파일 중 하나를 선택합니다. 열기를 클릭합니다. 이 문서는 간단하고 빠른 C ++ XML 파서 클래스에 관한 것입니다. XML 문서를 로드하고 유효성을 검사하고 찾아볼 수 있는 효과적인 XML 파서가 필요한 경우가 많습니다.

.NET 환경에서는 많은 유형의 XML 문서를 처리하기 위한 대규모 네이티브 지원이 있지만 원래 C++, MFC 등에서 동일한 기본 지원이 누락되었습니다. 그러나 XML 파일 구문 분석 및 처리에 대한 COM 대안이 있지만 이를 배우고 올바른 방법으로 사용하는 데 는 시간이 걸립니다. CXMLFile 클래스의 메서드인 LoadFromFile()을 호출한 후 사용자 지정 XML 파일의 유효성 검사 및 구문 분석이 수행됩니다. XML 파일이 잘 형성되면 CXMLElement 요소의 컬렉션으로 시스템 메모리에 로드됩니다. GetRoot(라는 CXMLFile 클래스의 다른 메서드를 사용 하 여이 컬렉션에 대 한 액세스를 얻을 수 있습니다. 아래 를 참조하십시오: 문서를 만드는 위의 예는 하나의 ITEM 요소만 만들었습니다. 다음은 이전에 채워진 데이터 원본에서 로드된 여러 항목과 요소 중 하나에 특성이 있는 SHIPMENT 정보 요소를 만드는 예제입니다.

This entry was posted in Non classé. Bookmark the permalink.

Comments are closed.