00001
00002
00003
00004
00005
00006
00011
00012
00013
00014
00015
00016
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