Add XMLUtils.cpp and XMLUtils.h

These XML functions will be useful for de-duplicating copy-pasted XML
handling code, while also making it so elements will get updated in
place instead of being thrown out and starting from scratch every time a
file is saved.
This commit is contained in:
Misa
2020-09-25 09:08:20 -07:00
committed by Ethan Lee
parent a1957fa518
commit cb2f72fd8e
3 changed files with 170 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
// Forward decl, avoid including tinyxml2.h
namespace tinyxml2
{
class XMLComment;
class XMLDocument;
class XMLDeclaration;
class XMLElement;
class XMLNode;
}
namespace xml
{
tinyxml2::XMLElement* update_element(tinyxml2::XMLNode* parent, const char* name);
// Same thing as above, but takes &parent instead of *parent
tinyxml2::XMLElement* update_element(tinyxml2::XMLNode& parent, const char* name);
tinyxml2::XMLElement* update_element_delete_contents(tinyxml2::XMLNode* parent, const char* name);
tinyxml2::XMLElement* update_tag(tinyxml2::XMLNode* parent, const char* name, const char* value);
tinyxml2::XMLElement* update_tag(tinyxml2::XMLNode* parent, const char* name, const int value);
tinyxml2::XMLDeclaration* update_declaration(tinyxml2::XMLDocument& doc);
tinyxml2::XMLComment* update_comment(tinyxml2::XMLNode* parent, const char* text);
} // namespace xml