32 #define RAPIDXML_NO_EXCEPTIONS
33 #include "../../../external/rapidxml/rapidxml.hpp"
34 #include "../../../external/rapidxml/rapidxml_utils.hpp"
35 #include "../../../external/rapidxml/rapidxml_print.hpp"
37 #define drwnXMLDoc rapidxml::xml_document<char>
38 #define drwnXMLNode rapidxml::xml_node<char>
39 #define drwnXMLAttr rapidxml::xml_attribute<char>
45 drwnXMLNode *
drwnParseXMLFile(drwnXMLDoc& xml,
const char* filename,
const char *tag = NULL);
54 bool bCopyName =
true);
60 const char *value = NULL,
bool bCopyName =
true);
63 drwnXMLNode *
drwnAddXMLRootNode(drwnXMLDoc& xml,
const char *name,
bool bCopyName =
false);
67 drwnXMLAttr *a = node.first_attribute(name);
68 return (a == NULL) ? NULL : a->value();
73 if ((node.value() != NULL) && (node.value()[0] !=
'\0'))
76 const drwnXMLNode *child = node.first_node();
77 while (child != NULL) {
78 if (child->type() == rapidxml::node_data) {
79 return child->value();
81 child = child->next_sibling();
drwnXMLNode * drwnAddXMLChildNode(drwnXMLNode &parent, const char *name, const char *value=NULL, bool bCopyName=true)
adds a child node for a given parent (set bCopyName to false if it's a static string) and returns a r...
Definition: drwnXMLParser.cpp:102
bool drwnIsXMLEmpty(drwnXMLNode &xml)
checks whether an xml document is empty
Definition: drwnXMLParser.cpp:55
drwnXMLNode * drwnParseXMLFile(drwnXMLDoc &xml, const char *filename, const char *tag=NULL)
parse an xml file into xml (loads all data into memory) and return a pointer to the first node (with ...
Definition: drwnXMLParser.cpp:22
int drwnCountXMLChildren(drwnXMLNode &xml, const char *name=NULL)
counts the number of children with name name
Definition: drwnXMLParser.cpp:60
const char * drwnGetXMLAttribute(const drwnXMLNode &node, const char *name)
returns an attribute string (or NULL if the string does not exist)
Definition: drwnXMLParser.h:65
drwnXMLNode * drwnAddXMLRootNode(drwnXMLDoc &xml, const char *name, bool bCopyName=false)
adds a root node to an xml document (set bCopyName to false if it's a static string) and returns a re...
Definition: drwnXMLParser.cpp:120
const char * drwnGetXMLText(const drwnXMLNode &node)
returns node text (or NULL if the node has no text)
Definition: drwnXMLParser.h:71
drwnXMLAttr * drwnAddXMLAttribute(drwnXMLNode &xml, const char *name, const char *value, bool bCopyName=true)
Adds/changes an attribute for a given node (set bCopyName to false if it's a static string) and retur...
Definition: drwnXMLParser.cpp:69
drwnXMLNode * drwnAddXMLText(drwnXMLNode &xml, const char *value)
adds/changes an text for a given node
Definition: drwnXMLParser.cpp:87