diff options
Diffstat (limited to 'ParserClass/FileManParser.hpp')
| -rw-r--r-- | ParserClass/FileManParser.hpp | 50 |
1 files changed, 32 insertions, 18 deletions
diff --git a/ParserClass/FileManParser.hpp b/ParserClass/FileManParser.hpp index 6a977db..5c64708 100644 --- a/ParserClass/FileManParser.hpp +++ b/ParserClass/FileManParser.hpp @@ -8,23 +8,20 @@ * */ + //----- std ----- #include <iostream> +#include <sstream> #include <string> #include <vector> //----- class ----- #include "Website.hpp" -#include "FileManContainer.hpp" -//----- xerces ----- -#include <xercesc/parsers/XercesDOMParser.hpp> -#include <xercesc/dom/DOM.hpp> -#include <xercesc/framework/MemBufInputSource.hpp> -#include <xercesc/sax/HandlerBase.hpp> -#include <xercesc/util/XMLString.hpp> -#include <xercesc/util/PlatformUtils.hpp> -#include <xercesc/util/XercesDefs.hpp> +//----- libxml++ ----- +#include <cstdlib> +#include <libxml++/libxml++.h> + @@ -32,27 +29,44 @@ class FileManParser{ public: + + //Constructor FileManParser(std::string data); + //Get document in string + std::string getDocument(); + + + //Get container vector pointer: + std::vector<Website>* getWebsites(); - FileManContainer getContainer(); - void initWebsites(); - std::string getData(); + //Apply change that have made on container + void updateParser(); - xercesc::DOMElement* getChildByTagName(xercesc::DOMElement* node, std::string TagName); - std::string getContentOfChild(xercesc::DOMElement* node,std::string TagName); private: - xercesc::DOMDocument* document; ///< contain the document - xercesc::DOMElement* root; + //Instaciate all website container + void initWebsites(); + + + //Parser attributes + std::stringstream dataStream; + xmlpp::DomParser parser; + + + + //Document attributes + xmlpp::Document* document; + xmlpp::Node* rootNode; - FileManContainer container; ///< contain all container - std::string data; ///< contain data to parse + //Website attributes + xmlpp::Node* websitesNode; + std::vector<Website> *websites; }; |
