LibOFX
|
00001 /*************************************************************************** 00002 nodeparser.cpp 00003 ------------------- 00004 copyright : (C) 2005 by Ace Jones 00005 email : acejones@users.sourceforge.net 00006 ***************************************************************************/ 00011 /*************************************************************************** 00012 * * 00013 * This program is free software; you can redistribute it and/or modify * 00014 * it under the terms of the GNU General Public License as published by * 00015 * the Free Software Foundation; either version 2 of the License, or * 00016 * (at your option) any later version. * 00017 * * 00018 ***************************************************************************/ 00019 00020 #ifndef NODEPARSER_H 00021 #define NODEPARSER_H 00022 00023 #include <string> 00024 #include <vector> 00025 #include <libxml++/libxml++.h> 00026 00027 class NodeParser: public xmlpp::Node::NodeList 00028 { 00029 public: 00030 NodeParser(void) {} 00031 NodeParser(const xmlpp::Node::NodeList&); 00032 NodeParser(const xmlpp::Node*); 00033 NodeParser(const xmlpp::DomParser&); 00034 00035 NodeParser Path(const std::string& path) const; 00036 NodeParser Select(const std::string& key, const std::string& value) const; 00037 std::vector<std::string> Text(void) const; 00038 00039 protected: 00040 static NodeParser Path(const xmlpp::Node* node,const std::string& path); 00041 }; 00042 00043 00044 #endif // NODEPARSER_H