21 #ifndef __XMLDOC_HPP__
22 #define __XMLDOC_HPP__
67 XmlNode_t(
const std::string &p_name =
"",
size_t p_depth = 0);
75 void deallocateNodes(
void);
93 const std::string &
getName(
void)
const;
96 const std::string &
getText(
void)
const;
97 void setText(
const std::string &p_text);
108 void addAttribute(
const std::string &p_name,
const std::string &p_value);
109 bool getAttribute(
const std::string &p_name, std::string &p_result)
const;
112 bool empty(
void)
const;
155 bool xpath(
const std::string &p_xpath, std::vector< std::string> &p_results,
size_t p_index = 0);
friend std::ostream & operator<<(std::ostream &p_ostream, const XmlDoc_t &p_xmlDoc)
XmlDoc_t(const XmlNode_t &p_xmlNode=XmlNode_t())
void setLazyRelativeMatch(bool p_lazyRelativeMatch)
XmlNode_t & setRootNode(const XmlNode_t &p_xmlNode)
void setProcessEnvAndBody(bool p_processEnvAndBody)
bool getLazyRelativeMatch(void) const
XmlNode_t & getRootNode(void)
bool getProcessEnvAndBody(void) const
bool xpath(const std::string &p_xpath, std::vector< std::string > &p_results, size_t p_index=0)
friend std::ostream & operator<<(std::ostream &p_ostream, const XmlNode_t &p_xmlNode)
XmlNode_t(const std::string &p_name="", size_t p_depth=0)
void setEmpty(bool p_empty)
void setText(const std::string &p_text)
bool getAttribute(const std::string &p_name, std::string &p_result) const
void setDepth(size_t p_depth)
std::multimap< std::string, size_t > MultiMapNodes_t
MapAttributes_t m_mapAttributes
void findAny(const std::string &p_name, XmlNode_t::VectorNodePtrs_t &p_children)
XmlNode_t * getNode(const std::string &p_name, size_t p_index=0) const
void setParent(XmlNode_t &p_parent)
const std::string & getName(void) const
MultiMapNodes_t m_mapNodes
std::vector< std::pair< std::string, std::string > > VectorAttributes_t
void findDirectChildren(const std::string &p_name, XmlNode_t::VectorNodePtrs_t &p_children)
void setNext(XmlNode_t &p_next)
void addAttribute(const std::string &p_name, const std::string &p_value)
XmlNode_t & getPrev(void) const
XmlNode_t & getParent(void) const
XmlNode_t & addNode(XmlNode_t *p_xmlNode=NULL)
XmlNode_t & operator=(const XmlNode_t &p_xmlNode)
const std::string & getText(void) const
bool isTextNode(void) const
void setPrev(XmlNode_t &p_prev)
std::vector< XmlNode_t * > VectorNodePtrs_t
void getAllChildren(XmlNode_t::VectorNodePtrs_t &p_children)
VectorAttributes_t m_attributes
bool isRootNode(void) const
XmlNode_t & getNext(void) const
size_t getDepth(void) const
void setName(const std::string &p_name, bool p_empty=XmlNode_t::EMPTY_NODE)
bool operator==(const XmlNode_t &p_xmlNode) const
void findSelfOrChildren(const std::string &p_name, XmlNode_t::VectorNodePtrs_t &p_children, bool p_lazyRelativeMatch=false)
std::map< std::string, size_t > MapAttributes_t