#ifndef __XMLPARSER_H__ #define __XMLPARSER_H__ #pragma once #include <stdio.h> #include <string> //extern "C" { #include "expat/expat.h" //} class XmlResultInterface { public: virtual void EnterFillHandle(const char* tagName, const char** attrs); virtual void ExitFillHandle(const char* tagName); }; class XmlParser { public: XmlParser(FILE* const xmlFile, XmlResultInterface* result); ~XmlParser(); void Execute(); void StartElement(const char* element, const char** attrs); void StopElement(const char* element); const int GetDepth(); private: FILE* xmlFile_ /*= nullptr*/; XML_Parser parser_ /*= nullptr*/; int depth_ /*= 0*/; XmlResultInterface* result_ /*= nullptr*/; }; #endif //__XMLPARSER_H__