PushNewChild* family of convenience functions
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 6b79917..4ff722b 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -1961,6 +1961,46 @@
return attrib;
}
+
+XMLElement* XMLElement::PushNewChildElement(const char* name)
+{
+ XMLElement* element = _document->NewElement(name);
+ // by construction, the new element has the same Document, so this
+ // call will always succeed
+ InsertEndChild(element);
+ return element;
+}
+
+XMLComment* XMLElement::PushNewChildComment(const char* comment)
+{
+ XMLComment* element = _document->NewComment(comment);
+ InsertEndChild(element);
+ return element;
+}
+
+XMLText* XMLElement::PushNewChildText(const char* text)
+{
+ XMLText* element = _document->NewText(text);
+ InsertEndChild(element);
+ return element;
+}
+
+XMLDeclaration* XMLElement::PushNewChildDeclaration(const char* text)
+{
+ XMLDeclaration* element = _document->NewDeclaration(text);
+ InsertEndChild(element);
+ return element;
+}
+
+XMLUnknown* XMLElement::PushNewUnknown(const char* text)
+{
+ XMLUnknown* element = _document->NewUnknown(text);
+ InsertEndChild(element);
+ return element;
+}
+
+
+
//
// <ele></ele>
// <ele>foo<b>bar</b></ele>