00001 #ifndef XMLNODE_H 00002 #define XMLNODE_H 00003 00004 #include "Node.hpp" 00005 #include "Folder.hpp" 00006 #include "Bookmark.hpp" 00007 00008 #include <string> 00009 #include <vector> 00010 00014 class XMLNode { 00015 public: 00020 XMLNode(); 00021 00025 XMLNode(const XMLNode& node); 00026 00030 XMLNode(const string& attribute, const string& value = ""); 00031 00035 XMLNode(Node* node); 00036 00041 XMLNode(Folder* folder, const int levels = 1); 00042 00046 void addNode(XMLNode* node); 00047 00052 string getDoc(int indent = 0); 00053 00057 string& getAttribute(); 00058 00062 void setAttribute(const string& attribute); 00063 00067 string& getValue(); 00068 00072 void setValue(const string& value); 00073 00074 private: 00078 void init(Node* node); 00079 00083 string _attribute; 00084 00088 string _value; 00089 00093 vector<XMLNode*> _children; 00094 }; 00095 00096 #endif