Loading [MathJax]/jax/input/TeX/config.js
Logo ROOT  
Reference Guide
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
xmlnewfile.C File Reference

Detailed Description

View in nbviewer Open in SWAN Example to create a new xml file with the TXMLEngine class

#include "TXMLEngine.h"
void xmlnewfile(const char* filename = "example.xml")
{
// First create engine
// Create main node of document tree
XMLNodePointer_t mainnode = xml.NewChild(0, 0, "main");
// Simple child node with content inside
xml.NewChild(mainnode, 0, "child1", "Content of child1 node");
// Other child node with attributes
XMLNodePointer_t child2 = xml.NewChild(mainnode, 0, "child2");
xml.NewAttr(child2, 0, "attr1","value1");
xml.NewAttr(child2, 0, "attr2","value2");
// Child node with subnodes
XMLNodePointer_t child3 = xml.NewChild(mainnode, 0, "child3");
xml.NewChild(child3, 0, "subchild1", "subchild1 content");
xml.NewChild(child3, 0, "subchild2", "subchild2 content");
xml.NewChild(child3, 0, "subchild3", "subchild3 content");
// Child node with subnodes and namespace
XMLNodePointer_t child4 = xml.NewChild(mainnode, 0, "child4");
XMLNsPointer_t ns4 = xml.NewNS(child4, "http://website/webpage");
xml.NewChild(child4, ns4, "subchild1", "subchild1 content");
xml.NewChild(child4, ns4, "subchild2", "subchild2 content");
xml.NewChild(child4, ns4, "subchild3", "subchild3 content");
// now create document and assign main node of document
XMLDocPointer_t xmldoc = xml.NewDoc();
xml.DocSetRootElement(xmldoc, mainnode);
// Save document to file
xml.SaveDoc(xmldoc, filename);
// Release memory before exit
xml.FreeDoc(xmldoc);
}
void * XMLNodePointer_t
Definition: TXMLEngine.h:17
void * XMLNsPointer_t
Definition: TXMLEngine.h:18
void * XMLDocPointer_t
Definition: TXMLEngine.h:20
XMLNodePointer_t NewChild(XMLNodePointer_t parent, XMLNsPointer_t ns, const char *name, const char *content=nullptr)
create new child element for parent node
Definition: TXMLEngine.cxx:709
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
Definition: TXMLEngine.cxx:580
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.
Definition: TXMLEngine.cxx:735
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
Author
Sergey Linev

Definition in file xmlnewfile.C.