Logo
~Sockets~
~Examples~
~Contact~


BaseXMLFile.h

Go to the documentation of this file.
00001 
00006 /*
00007 Copyright (C) 2004  Anders Hedstrom
00008 
00009 This program is free software; you can redistribute it and/or
00010 modify it under the terms of the GNU General Public License
00011 as published by the Free Software Foundation; either version 2
00012 of the License, or (at your option) any later version.
00013 
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 GNU General Public License for more details.
00018 
00019 You should have received a copy of the GNU General Public License
00020 along with this program; if not, write to the Free Software
00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00022 */
00023 #ifndef _BASEXMLFILE_H
00024 #define _BASEXMLFILE_H
00025 
00026 #include <string>
00027 #include <libxml/xmlmemory.h>
00028 #include <libxml/parser.h>
00029 
00030 
00031 class BaseXMLFile
00032 {
00033 public:
00034         BaseXMLFile(const std::string& filename,const std::string& verify_ns = "",const std::string& verify_root = "");
00035         ~BaseXMLFile();
00036 
00037         xmlDocPtr GetDocument() { return m_doc; }
00038         xmlNodePtr GetRootElement();
00039         std::string GetProperty(const std::string& );
00040         xmlNodePtr GetChildrenNode();
00041         xmlNodePtr GetNextNode();
00042         const std::string& GetNodeName();
00043         void SetCurrent(xmlNodePtr p) { m_current = p; }
00044         xmlNsPtr GetNodeNs();
00045         const std::string& GetNodeNsPrefix();
00046         const std::string& GetNodeNsHref();
00047 
00048         xmlNodePtr GetFirstElement(const std::string& );
00049         xmlNodePtr GetFirstElement(xmlNodePtr,const std::string& );
00050         xmlNodePtr GetNextElement(xmlNodePtr,const std::string& );
00051 
00052 private:
00053         xmlDocPtr m_doc;
00054         xmlNodePtr m_current;
00055         std::string m_current_name;
00056         std::string m_ns_prefix;
00057         std::string m_ns_href;
00058 };
00059 
00060 
00061 
00062 
00063 #endif // _BASEXMLFILE_H
Page, code, and content Copyright (C) 2006 by Anders Hedström
Generated on Mon Aug 29 20:21:47 2005 for C++ Sockets by  doxygen 1.4.4