00001
00002
00003 #ifndef XMLDOCUMENT_H
00004 #define XMLDOCUMENT_H
00005
00006
00007 #include "libxml/parser.h"
00008 #include "libxml/xpath.h"
00009
00010 #include <string>
00011
00012
00013 namespace xml {
00014
00015
00016 class CXMLNode;
00017 class CXMLNodeSet;
00018 class CXMLNameSpaceList;
00019
00020
00021 class CXMLDocument {
00022
00023 public:
00025
00027 CXMLDocument(const std::string &filename);
00028
00029
00031
00033 virtual ~CXMLDocument(void);
00034
00035
00037
00039 CXMLNodeSet* evaluateXPathExpression(const std::string &expression, CXMLNameSpaceList *nsList);
00040 bool isFileOpen(void);
00041
00042
00043 private:
00045
00047 bool openDocument(const std::string &filename);
00048
00049
00051
00053 xmlDocPtr m_documentPtr;
00054 bool m_fileOpenSuccess;
00055 };
00056 };
00057
00058 #endif