# nodeparser.h

Go to the documentation of this file.

    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