Logo ROOT  
Reference Guide
No Matches
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_xml
4/// Example to create a new xml file with the TXMLEngine class
6/// \macro_code
8/// \author Sergey Linev
10#include "TXMLEngine.h"
12void xmlnewfile(const char* filename = "example.xml")
14 // First create engine
15 TXMLEngine xml;
17 // Create main node of document tree
18 XMLNodePointer_t mainnode = xml.NewChild(nullptr, nullptr, "main");
20 // Simple child node with content inside
21 xml.NewChild(mainnode, nullptr, "child1", "Content of child1 node");
23 // Other child node with attributes
24 XMLNodePointer_t child2 = xml.NewChild(mainnode, nullptr, "child2");
25 xml.NewAttr(child2, nullptr, "attr1","value1");
26 xml.NewAttr(child2, nullptr, "attr2","value2");
28 // Child node with subnodes
29 XMLNodePointer_t child3 = xml.NewChild(mainnode, nullptr, "child3");
30 xml.NewChild(child3, nullptr, "subchild1", "subchild1 content");
31 xml.NewChild(child3, nullptr, "subchild2", "subchild2 content");
32 xml.NewChild(child3, nullptr, "subchild3", "subchild3 content");
34 // Child node with subnodes and namespace
35 XMLNodePointer_t child4 = xml.NewChild(mainnode, nullptr, "child4");
36 XMLNsPointer_t ns4 = xml.NewNS(child4, "http://website/webpage");
37 xml.NewChild(child4, ns4, "subchild1", "subchild1 content");
38 xml.NewChild(child4, ns4, "subchild2", "subchild2 content");
39 xml.NewChild(child4, ns4, "subchild3", "subchild3 content");
41 // now create document and assign main node of document
42 XMLDocPointer_t xmldoc = xml.NewDoc();
43 xml.DocSetRootElement(xmldoc, mainnode);
45 // Save document to file
46 xml.SaveDoc(xmldoc, filename);
48 // Release memory before exit
49 xml.FreeDoc(xmldoc);
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
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
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