12void xmlnewfile(
const char* filename = 
"example.xml")
 
   21   xml.
NewChild(mainnode, 0, 
"child1", 
"Content of child1 node");
 
   25   xml.
NewAttr(child2, 0, 
"attr1",
"value1");
 
   26   xml.
NewAttr(child2, 0, 
"attr2",
"value2");
 
   30   xml.
NewChild(child3, 0, 
"subchild1", 
"subchild1 content");
 
   31   xml.
NewChild(child3, 0, 
"subchild2", 
"subchild2 content");
 
   32   xml.
NewChild(child3, 0, 
"subchild3", 
"subchild3 content");
 
   37   xml.
NewChild(child4, ns4, 
"subchild1", 
"subchild1 content");
 
   38   xml.
NewChild(child4, ns4, 
"subchild2", 
"subchild2 content");
 
   39   xml.
NewChild(child4, ns4, 
"subchild3", 
"subchild3 content");
 
XMLNodePointer_t NewChild(XMLNodePointer_t parent, XMLNsPointer_t ns, const char *name, const char *content=nullptr)
create new child element for parent node
XMLAttrPointer_t NewAttr(XMLNodePointer_t xmlnode, XMLNsPointer_t, const char *name, const char *value)
creates new attribute for xmlnode, namespaces are not supported for attributes
void SaveDoc(XMLDocPointer_t xmldoc, const char *filename, Int_t layout=1)
store document content to file if layout<=0, no any spaces or newlines will be placed between xmlnode...
void FreeDoc(XMLDocPointer_t xmldoc)
frees allocated document data and deletes document itself
XMLNsPointer_t NewNS(XMLNodePointer_t xmlnode, const char *reference, const char *name=nullptr)
create namespace attribute for xmlnode.
XMLDocPointer_t NewDoc(const char *version="1.0")
creates new xml document with provided version
void DocSetRootElement(XMLDocPointer_t xmldoc, XMLNodePointer_t xmlnode)
set main (root) node for document