1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> 3<head> 4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 5<meta http-equiv="X-UA-Compatible" content="IE=11"/> 6<meta name="generator" content="Doxygen 1.10.0"/> 7<meta name="viewport" content="width=device-width, initial-scale=1"/> 8<title>TinyXML-2: tinyxml2::XMLDocument Class Reference</title> 9<link href="tabs.css" rel="stylesheet" type="text/css"/> 10<script type="text/javascript" src="jquery.js"></script> 11<script type="text/javascript" src="dynsections.js"></script> 12<script type="text/javascript" src="clipboard.js"></script> 13<script type="text/javascript" src="cookie.js"></script> 14<link href="search/search.css" rel="stylesheet" type="text/css"/> 15<script type="text/javascript" src="search/searchdata.js"></script> 16<script type="text/javascript" src="search/search.js"></script> 17<link href="doxygen.css" rel="stylesheet" type="text/css" /> 18</head> 19<body> 20<div id="top"><!-- do not remove this div, it is closed by doxygen! --> 21<div id="titlearea"> 22<table cellspacing="0" cellpadding="0"> 23 <tbody> 24 <tr id="projectrow"> 25 <td id="projectalign"> 26 <div id="projectname">TinyXML-2<span id="projectnumber"> 10.0.0</span> 27 </div> 28 </td> 29 </tr> 30 </tbody> 31</table> 32</div> 33<!-- end header part --> 34<!-- Generated by Doxygen 1.10.0 --> 35<script type="text/javascript"> 36/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ 37var searchBox = new SearchBox("searchBox", "search/",'.html'); 38/* @license-end */ 39</script> 40<script type="text/javascript" src="menudata.js"></script> 41<script type="text/javascript" src="menu.js"></script> 42<script type="text/javascript"> 43/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ 44$(function() { 45 initMenu('',true,false,'search.php','Search'); 46 $(function() { init_search(); }); 47}); 48/* @license-end */ 49</script> 50<div id="main-nav"></div> 51<!-- window showing the filter options --> 52<div id="MSearchSelectWindow" 53 onmouseover="return searchBox.OnSearchSelectShow()" 54 onmouseout="return searchBox.OnSearchSelectHide()" 55 onkeydown="return searchBox.OnSearchSelectKey(event)"> 56</div> 57 58<!-- iframe showing the search results (closed by default) --> 59<div id="MSearchResultsWindow"> 60<div id="MSearchResults"> 61<div class="SRPage"> 62<div id="SRIndex"> 63<div id="SRResults"></div> 64<div class="SRStatus" id="Loading">Loading...</div> 65<div class="SRStatus" id="Searching">Searching...</div> 66<div class="SRStatus" id="NoMatches">No Matches</div> 67</div> 68</div> 69</div> 70</div> 71 72<div id="nav-path" class="navpath"> 73 <ul> 74<li class="navelem"><b>tinyxml2</b></li><li class="navelem"><a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a></li> </ul> 75</div> 76</div><!-- top --> 77<div class="header"> 78 <div class="summary"> 79<a href="#pub-methods">Public Member Functions</a> | 80<a href="classtinyxml2_1_1_x_m_l_document-members.html">List of all members</a> </div> 81 <div class="headertitle"><div class="title">tinyxml2::XMLDocument Class Reference</div></div> 82</div><!--header--> 83<div class="contents"> 84 85<p><code>#include <<a class="el" href="tinyxml2_8h_source.html">tinyxml2.h</a>></code></p> 86<div class="dynheader"> 87Inheritance diagram for tinyxml2::XMLDocument:</div> 88<div class="dyncontent"> 89 <div class="center"> 90 <img src="classtinyxml2_1_1_x_m_l_document.png" usemap="#tinyxml2::XMLDocument_map" alt=""/> 91 <map id="tinyxml2::XMLDocument_map" name="tinyxml2::XMLDocument_map"> 92<area href="classtinyxml2_1_1_x_m_l_node.html" alt="tinyxml2::XMLNode" shape="rect" coords="0,0,146,24"/> 93 </map> 94</div></div> 95<table class="memberdecls"> 96<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a> 97Public Member Functions</h2></td></tr> 98<tr class="memitem:a57ddf17b6e054dda10af98991b1b8f70" id="r_a57ddf17b6e054dda10af98991b1b8f70"><td class="memItemLeft" align="right" valign="top"><a id="a57ddf17b6e054dda10af98991b1b8f70" name="a57ddf17b6e054dda10af98991b1b8f70"></a> 99 </td><td class="memItemRight" valign="bottom"><b>XMLDocument</b> (bool processEntities=true, Whitespace whitespaceMode=PRESERVE_WHITESPACE)</td></tr> 100<tr class="memdesc:a57ddf17b6e054dda10af98991b1b8f70"><td class="mdescLeft"> </td><td class="mdescRight">constructor <br /></td></tr> 101<tr class="separator:a57ddf17b6e054dda10af98991b1b8f70"><td class="memSeparator" colspan="2"> </td></tr> 102<tr class="memitem:a290ad241e05e6aeeccbc78a4f3454f55" id="r_a290ad241e05e6aeeccbc78a4f3454f55"><td class="memItemLeft" align="right" valign="top"><a id="a290ad241e05e6aeeccbc78a4f3454f55" name="a290ad241e05e6aeeccbc78a4f3454f55"></a> 103virtual <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> * </td><td class="memItemRight" valign="bottom"><b>ToDocument</b> () override</td></tr> 104<tr class="memdesc:a290ad241e05e6aeeccbc78a4f3454f55"><td class="mdescLeft"> </td><td class="mdescRight">Safely cast to a Document, or null. <br /></td></tr> 105<tr class="separator:a290ad241e05e6aeeccbc78a4f3454f55"><td class="memSeparator" colspan="2"> </td></tr> 106<tr class="memitem:af2b616169e6517182f6725f2498e9a01" id="r_af2b616169e6517182f6725f2498e9a01"><td class="memItemLeft" align="right" valign="top">XMLError </td><td class="memItemRight" valign="bottom"><a class="el" href="#af2b616169e6517182f6725f2498e9a01">Parse</a> (const char *xml, size_t nBytes=static_cast< size_t >(-1))</td></tr> 107<tr class="separator:af2b616169e6517182f6725f2498e9a01"><td class="memSeparator" colspan="2"> </td></tr> 108<tr class="memitem:a2ebd4647a8af5fc6831b294ac26a150a" id="r_a2ebd4647a8af5fc6831b294ac26a150a"><td class="memItemLeft" align="right" valign="top">XMLError </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2ebd4647a8af5fc6831b294ac26a150a">LoadFile</a> (const char *filename)</td></tr> 109<tr class="separator:a2ebd4647a8af5fc6831b294ac26a150a"><td class="memSeparator" colspan="2"> </td></tr> 110<tr class="memitem:a5f1d330fad44c52f3d265338dd2a6dc2" id="r_a5f1d330fad44c52f3d265338dd2a6dc2"><td class="memItemLeft" align="right" valign="top">XMLError </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f1d330fad44c52f3d265338dd2a6dc2">LoadFile</a> (FILE *)</td></tr> 111<tr class="separator:a5f1d330fad44c52f3d265338dd2a6dc2"><td class="memSeparator" colspan="2"> </td></tr> 112<tr class="memitem:a73ac416b4a2aa0952e841220eb3da18f" id="r_a73ac416b4a2aa0952e841220eb3da18f"><td class="memItemLeft" align="right" valign="top">XMLError </td><td class="memItemRight" valign="bottom"><a class="el" href="#a73ac416b4a2aa0952e841220eb3da18f">SaveFile</a> (const char *filename, bool compact=false)</td></tr> 113<tr class="separator:a73ac416b4a2aa0952e841220eb3da18f"><td class="memSeparator" colspan="2"> </td></tr> 114<tr class="memitem:a8b95779479a0035acc67b3a61dfe1b74" id="r_a8b95779479a0035acc67b3a61dfe1b74"><td class="memItemLeft" align="right" valign="top">XMLError </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8b95779479a0035acc67b3a61dfe1b74">SaveFile</a> (FILE *fp, bool compact=false)</td></tr> 115<tr class="separator:a8b95779479a0035acc67b3a61dfe1b74"><td class="memSeparator" colspan="2"> </td></tr> 116<tr class="memitem:a33fc5d159db873a179fa26338adb05bd" id="r_a33fc5d159db873a179fa26338adb05bd"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a33fc5d159db873a179fa26338adb05bd">HasBOM</a> () const</td></tr> 117<tr class="separator:a33fc5d159db873a179fa26338adb05bd"><td class="memSeparator" colspan="2"> </td></tr> 118<tr class="memitem:a14419b698f7c4b140df4e80f3f0c93b0" id="r_a14419b698f7c4b140df4e80f3f0c93b0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a14419b698f7c4b140df4e80f3f0c93b0">SetBOM</a> (bool useBOM)</td></tr> 119<tr class="separator:a14419b698f7c4b140df4e80f3f0c93b0"><td class="memSeparator" colspan="2"> </td></tr> 120<tr class="memitem:a0e6855771cbe87d839fb301d3646f5b8" id="r_a0e6855771cbe87d839fb301d3646f5b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0e6855771cbe87d839fb301d3646f5b8">RootElement</a> ()</td></tr> 121<tr class="separator:a0e6855771cbe87d839fb301d3646f5b8"><td class="memSeparator" colspan="2"> </td></tr> 122<tr class="memitem:a867cf5fa3e3ff6ae4847a8b7ee8ec083" id="r_a867cf5fa3e3ff6ae4847a8b7ee8ec083"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a867cf5fa3e3ff6ae4847a8b7ee8ec083">Print</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_printer.html">XMLPrinter</a> *streamer=0) const</td></tr> 123<tr class="separator:a867cf5fa3e3ff6ae4847a8b7ee8ec083"><td class="memSeparator" colspan="2"> </td></tr> 124<tr class="memitem:a853f05e2f7f51eb598e32ec61d8bc53c" id="r_a853f05e2f7f51eb598e32ec61d8bc53c"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#a853f05e2f7f51eb598e32ec61d8bc53c">Accept</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_visitor.html">XMLVisitor</a> *visitor) const override</td></tr> 125<tr class="separator:a853f05e2f7f51eb598e32ec61d8bc53c"><td class="memSeparator" colspan="2"> </td></tr> 126<tr class="memitem:a3c335a700a43d7c363a393142a23f234" id="r_a3c335a700a43d7c363a393142a23f234"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3c335a700a43d7c363a393142a23f234">NewElement</a> (const char *name)</td></tr> 127<tr class="separator:a3c335a700a43d7c363a393142a23f234"><td class="memSeparator" colspan="2"> </td></tr> 128<tr class="memitem:a386df0befd06aadb5e0cd21381aa955a" id="r_a386df0befd06aadb5e0cd21381aa955a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_comment.html">XMLComment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a386df0befd06aadb5e0cd21381aa955a">NewComment</a> (const char *comment)</td></tr> 129<tr class="separator:a386df0befd06aadb5e0cd21381aa955a"><td class="memSeparator" colspan="2"> </td></tr> 130<tr class="memitem:acece5de77a0819f2341b08c1e1ed9987" id="r_acece5de77a0819f2341b08c1e1ed9987"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_text.html">XMLText</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#acece5de77a0819f2341b08c1e1ed9987">NewText</a> (const char *text)</td></tr> 131<tr class="separator:acece5de77a0819f2341b08c1e1ed9987"><td class="memSeparator" colspan="2"> </td></tr> 132<tr class="memitem:ae519030c0262fa2daff8993681990e16" id="r_ae519030c0262fa2daff8993681990e16"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_declaration.html">XMLDeclaration</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae519030c0262fa2daff8993681990e16">NewDeclaration</a> (const char *text=0)</td></tr> 133<tr class="separator:ae519030c0262fa2daff8993681990e16"><td class="memSeparator" colspan="2"> </td></tr> 134<tr class="memitem:a4954f502c5fd7f49de54c3c0c99bb73d" id="r_a4954f502c5fd7f49de54c3c0c99bb73d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_unknown.html">XMLUnknown</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4954f502c5fd7f49de54c3c0c99bb73d">NewUnknown</a> (const char *text)</td></tr> 135<tr class="separator:a4954f502c5fd7f49de54c3c0c99bb73d"><td class="memSeparator" colspan="2"> </td></tr> 136<tr class="memitem:ac1d6e2c7fcc1a660624ac4f68e96380d" id="r_ac1d6e2c7fcc1a660624ac4f68e96380d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac1d6e2c7fcc1a660624ac4f68e96380d">DeleteNode</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *node)</td></tr> 137<tr class="separator:ac1d6e2c7fcc1a660624ac4f68e96380d"><td class="memSeparator" colspan="2"> </td></tr> 138<tr class="memitem:a4085d9c52f1d93214311459d6d1fcf17" id="r_a4085d9c52f1d93214311459d6d1fcf17"><td class="memItemLeft" align="right" valign="top"><a id="a4085d9c52f1d93214311459d6d1fcf17" name="a4085d9c52f1d93214311459d6d1fcf17"></a> 139void </td><td class="memItemRight" valign="bottom"><b>ClearError</b> ()</td></tr> 140<tr class="memdesc:a4085d9c52f1d93214311459d6d1fcf17"><td class="mdescLeft"> </td><td class="mdescRight">Clears the error flags. <br /></td></tr> 141<tr class="separator:a4085d9c52f1d93214311459d6d1fcf17"><td class="memSeparator" colspan="2"> </td></tr> 142<tr class="memitem:a34e6318e182e40e3cc4f4ba5d59ed9ed" id="r_a34e6318e182e40e3cc4f4ba5d59ed9ed"><td class="memItemLeft" align="right" valign="top"><a id="a34e6318e182e40e3cc4f4ba5d59ed9ed" name="a34e6318e182e40e3cc4f4ba5d59ed9ed"></a> 143bool </td><td class="memItemRight" valign="bottom"><b>Error</b> () const</td></tr> 144<tr class="memdesc:a34e6318e182e40e3cc4f4ba5d59ed9ed"><td class="mdescLeft"> </td><td class="mdescRight">Return true if there was an error parsing the document. <br /></td></tr> 145<tr class="separator:a34e6318e182e40e3cc4f4ba5d59ed9ed"><td class="memSeparator" colspan="2"> </td></tr> 146<tr class="memitem:afa3ed33b3107f920ec2b301f805ac17d" id="r_afa3ed33b3107f920ec2b301f805ac17d"><td class="memItemLeft" align="right" valign="top"><a id="afa3ed33b3107f920ec2b301f805ac17d" name="afa3ed33b3107f920ec2b301f805ac17d"></a> 147XMLError </td><td class="memItemRight" valign="bottom"><b>ErrorID</b> () const</td></tr> 148<tr class="memdesc:afa3ed33b3107f920ec2b301f805ac17d"><td class="mdescLeft"> </td><td class="mdescRight">Return the errorID. <br /></td></tr> 149<tr class="separator:afa3ed33b3107f920ec2b301f805ac17d"><td class="memSeparator" colspan="2"> </td></tr> 150<tr class="memitem:ae97fff2402a0d01e0509c430b37996b3" id="r_ae97fff2402a0d01e0509c430b37996b3"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae97fff2402a0d01e0509c430b37996b3">ErrorStr</a> () const</td></tr> 151<tr class="separator:ae97fff2402a0d01e0509c430b37996b3"><td class="memSeparator" colspan="2"> </td></tr> 152<tr class="memitem:a1d033945b42e125d933d6231e4571552" id="r_a1d033945b42e125d933d6231e4571552"><td class="memItemLeft" align="right" valign="top"><a id="a1d033945b42e125d933d6231e4571552" name="a1d033945b42e125d933d6231e4571552"></a> 153void </td><td class="memItemRight" valign="bottom"><b>PrintError</b> () const</td></tr> 154<tr class="memdesc:a1d033945b42e125d933d6231e4571552"><td class="mdescLeft"> </td><td class="mdescRight">A (trivial) utility function that prints the <a class="el" href="#ae97fff2402a0d01e0509c430b37996b3">ErrorStr()</a> to stdout. <br /></td></tr> 155<tr class="separator:a1d033945b42e125d933d6231e4571552"><td class="memSeparator" colspan="2"> </td></tr> 156<tr class="memitem:a57400f816dbe7799ece33615ead9ab76" id="r_a57400f816dbe7799ece33615ead9ab76"><td class="memItemLeft" align="right" valign="top"><a id="a57400f816dbe7799ece33615ead9ab76" name="a57400f816dbe7799ece33615ead9ab76"></a> 157int </td><td class="memItemRight" valign="bottom"><b>ErrorLineNum</b> () const</td></tr> 158<tr class="memdesc:a57400f816dbe7799ece33615ead9ab76"><td class="mdescLeft"> </td><td class="mdescRight">Return the line where the error occurred, or zero if unknown. <br /></td></tr> 159<tr class="separator:a57400f816dbe7799ece33615ead9ab76"><td class="memSeparator" colspan="2"> </td></tr> 160<tr class="memitem:a65656b0b2cbc822708eb351504178aaf" id="r_a65656b0b2cbc822708eb351504178aaf"><td class="memItemLeft" align="right" valign="top"><a id="a65656b0b2cbc822708eb351504178aaf" name="a65656b0b2cbc822708eb351504178aaf"></a> 161void </td><td class="memItemRight" valign="bottom"><b>Clear</b> ()</td></tr> 162<tr class="memdesc:a65656b0b2cbc822708eb351504178aaf"><td class="mdescLeft"> </td><td class="mdescRight">Clear the document, resetting it to the initial state. <br /></td></tr> 163<tr class="separator:a65656b0b2cbc822708eb351504178aaf"><td class="memSeparator" colspan="2"> </td></tr> 164<tr class="memitem:af592ffc91514e25a39664521ac83db45" id="r_af592ffc91514e25a39664521ac83db45"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#af592ffc91514e25a39664521ac83db45">DeepCopy</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *target) const</td></tr> 165<tr class="separator:af592ffc91514e25a39664521ac83db45"><td class="memSeparator" colspan="2"> </td></tr> 166<tr class="memitem:a01ab2fc16fbce5f4456d67d24090e70b" id="r_a01ab2fc16fbce5f4456d67d24090e70b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a01ab2fc16fbce5f4456d67d24090e70b">ShallowClone</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *) const override</td></tr> 167<tr class="separator:a01ab2fc16fbce5f4456d67d24090e70b"><td class="memSeparator" colspan="2"> </td></tr> 168<tr class="memitem:ac538345c44f521e418ff86b4bdc20ca8" id="r_ac538345c44f521e418ff86b4bdc20ca8"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac538345c44f521e418ff86b4bdc20ca8">ShallowEqual</a> (const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *) const override</td></tr> 169<tr class="separator:ac538345c44f521e418ff86b4bdc20ca8"><td class="memSeparator" colspan="2"> </td></tr> 170<tr class="inherit_header pub_methods_classtinyxml2_1_1_x_m_l_node"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classtinyxml2_1_1_x_m_l_node')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">tinyxml2::XMLNode</a></td></tr> 171<tr class="memitem:a6ce3bbe80357f5a4dc5db31a66f2bb18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a6ce3bbe80357f5a4dc5db31a66f2bb18"><td class="memItemLeft" align="right" valign="top"> 172const <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> * </td><td class="memItemRight" valign="bottom"><b>GetDocument</b> () const</td></tr> 173<tr class="memdesc:a6ce3bbe80357f5a4dc5db31a66f2bb18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> that owns this <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a>. <br /></td></tr> 174<tr class="separator:a6ce3bbe80357f5a4dc5db31a66f2bb18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 175<tr class="memitem:a48d1695f7c834129e072548957a50501 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a48d1695f7c834129e072548957a50501"><td class="memItemLeft" align="right" valign="top"> 176<a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> * </td><td class="memItemRight" valign="bottom"><b>GetDocument</b> ()</td></tr> 177<tr class="memdesc:a48d1695f7c834129e072548957a50501 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> that owns this <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a>. <br /></td></tr> 178<tr class="separator:a48d1695f7c834129e072548957a50501 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 179<tr class="memitem:a9417e1f8a9787ae27741605493514b18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a9417e1f8a9787ae27741605493514b18"><td class="memItemLeft" align="right" valign="top"> 180virtual <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> * </td><td class="memItemRight" valign="bottom"><b>ToElement</b> ()</td></tr> 181<tr class="memdesc:a9417e1f8a9787ae27741605493514b18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Safely cast to an Element, or null. <br /></td></tr> 182<tr class="separator:a9417e1f8a9787ae27741605493514b18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 183<tr class="memitem:a0aea8c9c5853c35a06da1988486abc60 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a0aea8c9c5853c35a06da1988486abc60"><td class="memItemLeft" align="right" valign="top"> 184virtual <a class="el" href="classtinyxml2_1_1_x_m_l_text.html">XMLText</a> * </td><td class="memItemRight" valign="bottom"><b>ToText</b> ()</td></tr> 185<tr class="memdesc:a0aea8c9c5853c35a06da1988486abc60 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Safely cast to Text, or null. <br /></td></tr> 186<tr class="separator:a0aea8c9c5853c35a06da1988486abc60 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 187<tr class="memitem:a5dc13f02ae49e3fa609e426f47c8466d inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a5dc13f02ae49e3fa609e426f47c8466d"><td class="memItemLeft" align="right" valign="top"> 188virtual <a class="el" href="classtinyxml2_1_1_x_m_l_comment.html">XMLComment</a> * </td><td class="memItemRight" valign="bottom"><b>ToComment</b> ()</td></tr> 189<tr class="memdesc:a5dc13f02ae49e3fa609e426f47c8466d inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Safely cast to a Comment, or null. <br /></td></tr> 190<tr class="separator:a5dc13f02ae49e3fa609e426f47c8466d inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 191<tr class="memitem:a12aa783a3a4445ad5557c7d56cd8dc4a inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a12aa783a3a4445ad5557c7d56cd8dc4a"><td class="memItemLeft" align="right" valign="top"> 192virtual <a class="el" href="classtinyxml2_1_1_x_m_l_declaration.html">XMLDeclaration</a> * </td><td class="memItemRight" valign="bottom"><b>ToDeclaration</b> ()</td></tr> 193<tr class="memdesc:a12aa783a3a4445ad5557c7d56cd8dc4a inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Safely cast to a Declaration, or null. <br /></td></tr> 194<tr class="separator:a12aa783a3a4445ad5557c7d56cd8dc4a inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 195<tr class="memitem:aa8a2dd38b786c3b8d406c2047753cbfd inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_aa8a2dd38b786c3b8d406c2047753cbfd"><td class="memItemLeft" align="right" valign="top"> 196virtual <a class="el" href="classtinyxml2_1_1_x_m_l_unknown.html">XMLUnknown</a> * </td><td class="memItemRight" valign="bottom"><b>ToUnknown</b> ()</td></tr> 197<tr class="memdesc:aa8a2dd38b786c3b8d406c2047753cbfd inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Safely cast to an Unknown, or null. <br /></td></tr> 198<tr class="separator:aa8a2dd38b786c3b8d406c2047753cbfd inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 199<tr class="memitem:a0485e51c670e741884cfd8362274d680 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a0485e51c670e741884cfd8362274d680"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a0485e51c670e741884cfd8362274d680">Value</a> () const</td></tr> 200<tr class="separator:a0485e51c670e741884cfd8362274d680 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 201<tr class="memitem:a09dd68cf9eae137579f6e50f36487513 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a09dd68cf9eae137579f6e50f36487513"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a09dd68cf9eae137579f6e50f36487513">SetValue</a> (const char *val, bool staticMem=false)</td></tr> 202<tr class="separator:a09dd68cf9eae137579f6e50f36487513 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 203<tr class="memitem:a9b5fc636646fda761d342c72e91cb286 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a9b5fc636646fda761d342c72e91cb286"><td class="memItemLeft" align="right" valign="top"> 204int </td><td class="memItemRight" valign="bottom"><b>GetLineNum</b> () const</td></tr> 205<tr class="memdesc:a9b5fc636646fda761d342c72e91cb286 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Gets the line number the node is in, if the document was parsed from a file. <br /></td></tr> 206<tr class="separator:a9b5fc636646fda761d342c72e91cb286 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 207<tr class="memitem:a4d76b30d1bf4b166d3e4fa3419d51595 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a4d76b30d1bf4b166d3e4fa3419d51595"><td class="memItemLeft" align="right" valign="top"> 208const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * </td><td class="memItemRight" valign="bottom"><b>Parent</b> () const</td></tr> 209<tr class="memdesc:a4d76b30d1bf4b166d3e4fa3419d51595 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Get the parent of this node on the DOM. <br /></td></tr> 210<tr class="separator:a4d76b30d1bf4b166d3e4fa3419d51595 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 211<tr class="memitem:ac3ab489e6e202a3cd1762d3b332e89d4 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_ac3ab489e6e202a3cd1762d3b332e89d4"><td class="memItemLeft" align="right" valign="top"> 212bool </td><td class="memItemRight" valign="bottom"><b>NoChildren</b> () const</td></tr> 213<tr class="memdesc:ac3ab489e6e202a3cd1762d3b332e89d4 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if this node has no children. <br /></td></tr> 214<tr class="separator:ac3ab489e6e202a3cd1762d3b332e89d4 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 215<tr class="memitem:abcc2e572dce329539689b426a0840661 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_abcc2e572dce329539689b426a0840661"><td class="memItemLeft" align="right" valign="top"> 216const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * </td><td class="memItemRight" valign="bottom"><b>FirstChild</b> () const</td></tr> 217<tr class="memdesc:abcc2e572dce329539689b426a0840661 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Get the first child node, or null if none exists. <br /></td></tr> 218<tr class="separator:abcc2e572dce329539689b426a0840661 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 219<tr class="memitem:a1bec132dcf085284e0a10755f2cf0d57 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a1bec132dcf085284e0a10755f2cf0d57"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a1bec132dcf085284e0a10755f2cf0d57">FirstChildElement</a> (const char *name=0) const</td></tr> 220<tr class="separator:a1bec132dcf085284e0a10755f2cf0d57 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 221<tr class="memitem:a69a29bb8263ff5e9815be180bf27e7af inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a69a29bb8263ff5e9815be180bf27e7af"><td class="memItemLeft" align="right" valign="top"> 222const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * </td><td class="memItemRight" valign="bottom"><b>LastChild</b> () const</td></tr> 223<tr class="memdesc:a69a29bb8263ff5e9815be180bf27e7af inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Get the last child node, or null if none exists. <br /></td></tr> 224<tr class="separator:a69a29bb8263ff5e9815be180bf27e7af inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 225<tr class="memitem:a609e02f02044f39b928d1a3e0de9f532 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a609e02f02044f39b928d1a3e0de9f532"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a609e02f02044f39b928d1a3e0de9f532">LastChildElement</a> (const char *name=0) const</td></tr> 226<tr class="separator:a609e02f02044f39b928d1a3e0de9f532 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 227<tr class="memitem:a92ee96b0d8628bc609f1d34e56d69dfa inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a92ee96b0d8628bc609f1d34e56d69dfa"><td class="memItemLeft" align="right" valign="top"> 228const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * </td><td class="memItemRight" valign="bottom"><b>PreviousSibling</b> () const</td></tr> 229<tr class="memdesc:a92ee96b0d8628bc609f1d34e56d69dfa inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Get the previous (left) sibling node of this node. <br /></td></tr> 230<tr class="separator:a92ee96b0d8628bc609f1d34e56d69dfa inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 231<tr class="memitem:a9453cda5e970375a7b1b2099f8a7c40a inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a9453cda5e970375a7b1b2099f8a7c40a"><td class="memItemLeft" align="right" valign="top"> 232const <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> * </td><td class="memItemRight" valign="bottom"><b>PreviousSiblingElement</b> (const char *name=0) const</td></tr> 233<tr class="memdesc:a9453cda5e970375a7b1b2099f8a7c40a inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Get the previous (left) sibling element of this node, with an optionally supplied name. <br /></td></tr> 234<tr class="separator:a9453cda5e970375a7b1b2099f8a7c40a inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 235<tr class="memitem:af986c568061b020cf6232bec091388c0 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_af986c568061b020cf6232bec091388c0"><td class="memItemLeft" align="right" valign="top"> 236const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * </td><td class="memItemRight" valign="bottom"><b>NextSibling</b> () const</td></tr> 237<tr class="memdesc:af986c568061b020cf6232bec091388c0 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Get the next (right) sibling node of this node. <br /></td></tr> 238<tr class="separator:af986c568061b020cf6232bec091388c0 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 239<tr class="memitem:a14ea560df31110ff07a9f566171bf797 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a14ea560df31110ff07a9f566171bf797"><td class="memItemLeft" align="right" valign="top"> 240const <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> * </td><td class="memItemRight" valign="bottom"><b>NextSiblingElement</b> (const char *name=0) const</td></tr> 241<tr class="memdesc:a14ea560df31110ff07a9f566171bf797 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft"> </td><td class="mdescRight">Get the next (right) sibling element of this node, with an optionally supplied name. <br /></td></tr> 242<tr class="separator:a14ea560df31110ff07a9f566171bf797 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 243<tr class="memitem:ae3b422e98914d6002ca99bb1d2837103 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_ae3b422e98914d6002ca99bb1d2837103"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#ae3b422e98914d6002ca99bb1d2837103">InsertEndChild</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *addThis)</td></tr> 244<tr class="separator:ae3b422e98914d6002ca99bb1d2837103 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 245<tr class="memitem:ac609a8f3ea949027f439280c640bbaf2 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_ac609a8f3ea949027f439280c640bbaf2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#ac609a8f3ea949027f439280c640bbaf2">InsertFirstChild</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *addThis)</td></tr> 246<tr class="separator:ac609a8f3ea949027f439280c640bbaf2 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 247<tr class="memitem:a9275138a1b8dd5d8e2c26789bdc23ac8 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a9275138a1b8dd5d8e2c26789bdc23ac8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a9275138a1b8dd5d8e2c26789bdc23ac8">InsertAfterChild</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *afterThis, <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *addThis)</td></tr> 248<tr class="separator:a9275138a1b8dd5d8e2c26789bdc23ac8 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 249<tr class="memitem:a0360085cc54df5bff85d5c5da13afdce inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a0360085cc54df5bff85d5c5da13afdce"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a0360085cc54df5bff85d5c5da13afdce">DeleteChildren</a> ()</td></tr> 250<tr class="separator:a0360085cc54df5bff85d5c5da13afdce inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 251<tr class="memitem:a363b6edbd6ebd55f8387d2b89f2b0921 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a363b6edbd6ebd55f8387d2b89f2b0921"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a363b6edbd6ebd55f8387d2b89f2b0921">DeleteChild</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *node)</td></tr> 252<tr class="separator:a363b6edbd6ebd55f8387d2b89f2b0921 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 253<tr class="memitem:a3bb369fd733f1989b751d99a9417adab inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a3bb369fd733f1989b751d99a9417adab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a3bb369fd733f1989b751d99a9417adab">DeepClone</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *target) const</td></tr> 254<tr class="separator:a3bb369fd733f1989b751d99a9417adab inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 255<tr class="memitem:a002978fc889cc011d143185f2377eca2 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a002978fc889cc011d143185f2377eca2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a002978fc889cc011d143185f2377eca2">SetUserData</a> (void *userData)</td></tr> 256<tr class="separator:a002978fc889cc011d143185f2377eca2 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 257<tr class="memitem:a18cc02ebd0b06f6bf5db7ef87653e00e inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a18cc02ebd0b06f6bf5db7ef87653e00e"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a18cc02ebd0b06f6bf5db7ef87653e00e">GetUserData</a> () const</td></tr> 258<tr class="separator:a18cc02ebd0b06f6bf5db7ef87653e00e inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2"> </td></tr> 259</table> 260<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> 261<div class="textblock"><p>A Document binds together all the functionality. It can be saved, loaded, and printed to the screen. All Nodes are connected and allocated to a Document. If the Document is deleted, all its Nodes are also deleted. </p> 262</div><h2 class="groupheader">Member Function Documentation</h2> 263<a id="a853f05e2f7f51eb598e32ec61d8bc53c" name="a853f05e2f7f51eb598e32ec61d8bc53c"></a> 264<h2 class="memtitle"><span class="permalink"><a href="#a853f05e2f7f51eb598e32ec61d8bc53c">◆ </a></span>Accept()</h2> 265 266<div class="memitem"> 267<div class="memproto"> 268<table class="mlabels"> 269 <tr> 270 <td class="mlabels-left"> 271 <table class="memname"> 272 <tr> 273 <td class="memname">virtual bool tinyxml2::XMLDocument::Accept </td> 274 <td>(</td> 275 <td class="paramtype"><a class="el" href="classtinyxml2_1_1_x_m_l_visitor.html">XMLVisitor</a> *</td> <td class="paramname"><span class="paramname"><em>visitor</em></span></td><td>)</td> 276 <td> const</td> 277 </tr> 278 </table> 279 </td> 280 <td class="mlabels-right"> 281<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> 282 </tr> 283</table> 284</div><div class="memdoc"> 285<p>Accept a hierarchical visit of the nodes in the TinyXML-2 DOM. Every node in the XML tree will be conditionally visited and the host will be called back via the <a class="el" href="classtinyxml2_1_1_x_m_l_visitor.html">XMLVisitor</a> interface.</p> 286<p>This is essentially a SAX interface for TinyXML-2. (Note however it doesn't re-parse the XML for the callbacks, so the performance of TinyXML-2 is unchanged by using this interface versus any other.)</p> 287<p>The interface has been based on ideas from:</p> 288<ul> 289<li><a href="http://www.saxproject.org/">http://www.saxproject.org/</a></li> 290<li><a href="http://c2.com/cgi/wiki?HierarchicalVisitorPattern">http://c2.com/cgi/wiki?HierarchicalVisitorPattern</a></li> 291</ul> 292<p>Which are both good references for "visiting".</p> 293<p>An example of using <a class="el" href="#a853f05e2f7f51eb598e32ec61d8bc53c">Accept()</a>: </p><pre class="fragment">XMLPrinter printer; 294tinyxmlDoc.Accept( &printer ); 295const char* xmlcstr = printer.CStr(); 296</pre> 297<p>Implements <a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a81e66df0a44c67a7af17f3b77a152785">tinyxml2::XMLNode</a>.</p> 298 299</div> 300</div> 301<a id="af592ffc91514e25a39664521ac83db45" name="af592ffc91514e25a39664521ac83db45"></a> 302<h2 class="memtitle"><span class="permalink"><a href="#af592ffc91514e25a39664521ac83db45">◆ </a></span>DeepCopy()</h2> 303 304<div class="memitem"> 305<div class="memproto"> 306 <table class="memname"> 307 <tr> 308 <td class="memname">void tinyxml2::XMLDocument::DeepCopy </td> 309 <td>(</td> 310 <td class="paramtype"><a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *</td> <td class="paramname"><span class="paramname"><em>target</em></span></td><td>)</td> 311 <td> const</td> 312 </tr> 313 </table> 314</div><div class="memdoc"> 315<p>Copies this document to a target document. The target will be completely cleared before the copy. If you want to copy a sub-tree, see <a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a3bb369fd733f1989b751d99a9417adab">XMLNode::DeepClone()</a>.</p> 316<p>NOTE: that the 'target' must be non-null. </p> 317 318</div> 319</div> 320<a id="ac1d6e2c7fcc1a660624ac4f68e96380d" name="ac1d6e2c7fcc1a660624ac4f68e96380d"></a> 321<h2 class="memtitle"><span class="permalink"><a href="#ac1d6e2c7fcc1a660624ac4f68e96380d">◆ </a></span>DeleteNode()</h2> 322 323<div class="memitem"> 324<div class="memproto"> 325 <table class="memname"> 326 <tr> 327 <td class="memname">void tinyxml2::XMLDocument::DeleteNode </td> 328 <td>(</td> 329 <td class="paramtype"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *</td> <td class="paramname"><span class="paramname"><em>node</em></span></td><td>)</td> 330 <td></td> 331 </tr> 332 </table> 333</div><div class="memdoc"> 334<p>Delete a node associated with this document. It will be unlinked from the DOM. </p> 335 336</div> 337</div> 338<a id="ae97fff2402a0d01e0509c430b37996b3" name="ae97fff2402a0d01e0509c430b37996b3"></a> 339<h2 class="memtitle"><span class="permalink"><a href="#ae97fff2402a0d01e0509c430b37996b3">◆ </a></span>ErrorStr()</h2> 340 341<div class="memitem"> 342<div class="memproto"> 343 <table class="memname"> 344 <tr> 345 <td class="memname">const char * tinyxml2::XMLDocument::ErrorStr </td> 346 <td>(</td> 347 <td class="paramname"><span class="paramname"></span></td><td>)</td> 348 <td> const</td> 349 </tr> 350 </table> 351</div><div class="memdoc"> 352<p>Returns a "long form" error description. A hopefully helpful diagnostic with location, line number, and/or additional info. </p> 353 354</div> 355</div> 356<a id="a33fc5d159db873a179fa26338adb05bd" name="a33fc5d159db873a179fa26338adb05bd"></a> 357<h2 class="memtitle"><span class="permalink"><a href="#a33fc5d159db873a179fa26338adb05bd">◆ </a></span>HasBOM()</h2> 358 359<div class="memitem"> 360<div class="memproto"> 361<table class="mlabels"> 362 <tr> 363 <td class="mlabels-left"> 364 <table class="memname"> 365 <tr> 366 <td class="memname">bool tinyxml2::XMLDocument::HasBOM </td> 367 <td>(</td> 368 <td class="paramname"><span class="paramname"></span></td><td>)</td> 369 <td> const</td> 370 </tr> 371 </table> 372 </td> 373 <td class="mlabels-right"> 374<span class="mlabels"><span class="mlabel">inline</span></span> </td> 375 </tr> 376</table> 377</div><div class="memdoc"> 378<p>Returns true if this document has a leading Byte Order Mark of UTF8. </p> 379 380</div> 381</div> 382<a id="a2ebd4647a8af5fc6831b294ac26a150a" name="a2ebd4647a8af5fc6831b294ac26a150a"></a> 383<h2 class="memtitle"><span class="permalink"><a href="#a2ebd4647a8af5fc6831b294ac26a150a">◆ </a></span>LoadFile() <span class="overload">[1/2]</span></h2> 384 385<div class="memitem"> 386<div class="memproto"> 387 <table class="memname"> 388 <tr> 389 <td class="memname">XMLError tinyxml2::XMLDocument::LoadFile </td> 390 <td>(</td> 391 <td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>filename</em></span></td><td>)</td> 392 <td></td> 393 </tr> 394 </table> 395</div><div class="memdoc"> 396<p>Load an XML file from disk. Returns XML_SUCCESS (0) on success, or an errorID. </p> 397 398</div> 399</div> 400<a id="a5f1d330fad44c52f3d265338dd2a6dc2" name="a5f1d330fad44c52f3d265338dd2a6dc2"></a> 401<h2 class="memtitle"><span class="permalink"><a href="#a5f1d330fad44c52f3d265338dd2a6dc2">◆ </a></span>LoadFile() <span class="overload">[2/2]</span></h2> 402 403<div class="memitem"> 404<div class="memproto"> 405 <table class="memname"> 406 <tr> 407 <td class="memname">XMLError tinyxml2::XMLDocument::LoadFile </td> 408 <td>(</td> 409 <td class="paramtype">FILE *</td> <td class="paramname"><span class="paramname"></span></td><td>)</td> 410 <td></td> 411 </tr> 412 </table> 413</div><div class="memdoc"> 414<p>Load an XML file from disk. You are responsible for providing and closing the FILE*.</p> 415<p>NOTE: The file should be opened as binary ("rb") not text in order for TinyXML-2 to correctly do newline normalization.</p> 416<p>Returns XML_SUCCESS (0) on success, or an errorID. </p> 417 418</div> 419</div> 420<a id="a386df0befd06aadb5e0cd21381aa955a" name="a386df0befd06aadb5e0cd21381aa955a"></a> 421<h2 class="memtitle"><span class="permalink"><a href="#a386df0befd06aadb5e0cd21381aa955a">◆ </a></span>NewComment()</h2> 422 423<div class="memitem"> 424<div class="memproto"> 425 <table class="memname"> 426 <tr> 427 <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_comment.html">XMLComment</a> * tinyxml2::XMLDocument::NewComment </td> 428 <td>(</td> 429 <td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>comment</em></span></td><td>)</td> 430 <td></td> 431 </tr> 432 </table> 433</div><div class="memdoc"> 434<p>Create a new Comment associated with this Document. The memory for the Comment is managed by the Document. </p> 435 436</div> 437</div> 438<a id="ae519030c0262fa2daff8993681990e16" name="ae519030c0262fa2daff8993681990e16"></a> 439<h2 class="memtitle"><span class="permalink"><a href="#ae519030c0262fa2daff8993681990e16">◆ </a></span>NewDeclaration()</h2> 440 441<div class="memitem"> 442<div class="memproto"> 443 <table class="memname"> 444 <tr> 445 <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_declaration.html">XMLDeclaration</a> * tinyxml2::XMLDocument::NewDeclaration </td> 446 <td>(</td> 447 <td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>text</em><span class="paramdefsep"> = </span><span class="paramdefval">0</span></span></td><td>)</td> 448 <td></td> 449 </tr> 450 </table> 451</div><div class="memdoc"> 452<p>Create a new Declaration associated with this Document. The memory for the object is managed by the Document.</p> 453<p>If the 'text' param is null, the standard declaration is used.: </p><pre class="fragment"> <?xml version="1.0" encoding="UTF-8"?> 454</pre> 455</div> 456</div> 457<a id="a3c335a700a43d7c363a393142a23f234" name="a3c335a700a43d7c363a393142a23f234"></a> 458<h2 class="memtitle"><span class="permalink"><a href="#a3c335a700a43d7c363a393142a23f234">◆ </a></span>NewElement()</h2> 459 460<div class="memitem"> 461<div class="memproto"> 462 <table class="memname"> 463 <tr> 464 <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> * tinyxml2::XMLDocument::NewElement </td> 465 <td>(</td> 466 <td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>name</em></span></td><td>)</td> 467 <td></td> 468 </tr> 469 </table> 470</div><div class="memdoc"> 471<p>Create a new Element associated with this Document. The memory for the Element is managed by the Document. </p> 472 473</div> 474</div> 475<a id="acece5de77a0819f2341b08c1e1ed9987" name="acece5de77a0819f2341b08c1e1ed9987"></a> 476<h2 class="memtitle"><span class="permalink"><a href="#acece5de77a0819f2341b08c1e1ed9987">◆ </a></span>NewText()</h2> 477 478<div class="memitem"> 479<div class="memproto"> 480 <table class="memname"> 481 <tr> 482 <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_text.html">XMLText</a> * tinyxml2::XMLDocument::NewText </td> 483 <td>(</td> 484 <td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>text</em></span></td><td>)</td> 485 <td></td> 486 </tr> 487 </table> 488</div><div class="memdoc"> 489<p>Create a new Text associated with this Document. The memory for the Text is managed by the Document. </p> 490 491</div> 492</div> 493<a id="a4954f502c5fd7f49de54c3c0c99bb73d" name="a4954f502c5fd7f49de54c3c0c99bb73d"></a> 494<h2 class="memtitle"><span class="permalink"><a href="#a4954f502c5fd7f49de54c3c0c99bb73d">◆ </a></span>NewUnknown()</h2> 495 496<div class="memitem"> 497<div class="memproto"> 498 <table class="memname"> 499 <tr> 500 <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_unknown.html">XMLUnknown</a> * tinyxml2::XMLDocument::NewUnknown </td> 501 <td>(</td> 502 <td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>text</em></span></td><td>)</td> 503 <td></td> 504 </tr> 505 </table> 506</div><div class="memdoc"> 507<p>Create a new Unknown associated with this Document. The memory for the object is managed by the Document. </p> 508 509</div> 510</div> 511<a id="af2b616169e6517182f6725f2498e9a01" name="af2b616169e6517182f6725f2498e9a01"></a> 512<h2 class="memtitle"><span class="permalink"><a href="#af2b616169e6517182f6725f2498e9a01">◆ </a></span>Parse()</h2> 513 514<div class="memitem"> 515<div class="memproto"> 516 <table class="memname"> 517 <tr> 518 <td class="memname">XMLError tinyxml2::XMLDocument::Parse </td> 519 <td>(</td> 520 <td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>xml</em>, </span></td> 521 </tr> 522 <tr> 523 <td class="paramkey"></td> 524 <td></td> 525 <td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>nBytes</em><span class="paramdefsep"> = </span><span class="paramdefval">static_cast< size_t >(-1)</span></span> )</td> 526 </tr> 527 </table> 528</div><div class="memdoc"> 529<p>Parse an XML file from a character string. Returns XML_SUCCESS (0) on success, or an errorID.</p> 530<p>You may optionally pass in the 'nBytes', which is the number of bytes which will be parsed. If not specified, TinyXML-2 will assume 'xml' points to a null terminated string. </p> 531 532</div> 533</div> 534<a id="a867cf5fa3e3ff6ae4847a8b7ee8ec083" name="a867cf5fa3e3ff6ae4847a8b7ee8ec083"></a> 535<h2 class="memtitle"><span class="permalink"><a href="#a867cf5fa3e3ff6ae4847a8b7ee8ec083">◆ </a></span>Print()</h2> 536 537<div class="memitem"> 538<div class="memproto"> 539 <table class="memname"> 540 <tr> 541 <td class="memname">void tinyxml2::XMLDocument::Print </td> 542 <td>(</td> 543 <td class="paramtype"><a class="el" href="classtinyxml2_1_1_x_m_l_printer.html">XMLPrinter</a> *</td> <td class="paramname"><span class="paramname"><em>streamer</em><span class="paramdefsep"> = </span><span class="paramdefval">0</span></span></td><td>)</td> 544 <td> const</td> 545 </tr> 546 </table> 547</div><div class="memdoc"> 548<p>Print the Document. If the Printer is not provided, it will print to stdout. If you provide Printer, this can print to a file: </p><pre class="fragment">XMLPrinter printer( fp ); 549doc.Print( &printer ); 550</pre><p>Or you can use a printer to print to memory: </p><pre class="fragment">XMLPrinter printer; 551doc.Print( &printer ); 552// printer.CStr() has a const char* to the XML 553</pre> 554</div> 555</div> 556<a id="a0e6855771cbe87d839fb301d3646f5b8" name="a0e6855771cbe87d839fb301d3646f5b8"></a> 557<h2 class="memtitle"><span class="permalink"><a href="#a0e6855771cbe87d839fb301d3646f5b8">◆ </a></span>RootElement()</h2> 558 559<div class="memitem"> 560<div class="memproto"> 561<table class="mlabels"> 562 <tr> 563 <td class="mlabels-left"> 564 <table class="memname"> 565 <tr> 566 <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> * tinyxml2::XMLDocument::RootElement </td> 567 <td>(</td> 568 <td class="paramname"><span class="paramname"></span></td><td>)</td> 569 <td></td> 570 </tr> 571 </table> 572 </td> 573 <td class="mlabels-right"> 574<span class="mlabels"><span class="mlabel">inline</span></span> </td> 575 </tr> 576</table> 577</div><div class="memdoc"> 578<p>Return the root element of DOM. Equivalent to <a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a1bec132dcf085284e0a10755f2cf0d57">FirstChildElement()</a>. To get the first node, use FirstChild(). </p> 579 580</div> 581</div> 582<a id="a73ac416b4a2aa0952e841220eb3da18f" name="a73ac416b4a2aa0952e841220eb3da18f"></a> 583<h2 class="memtitle"><span class="permalink"><a href="#a73ac416b4a2aa0952e841220eb3da18f">◆ </a></span>SaveFile() <span class="overload">[1/2]</span></h2> 584 585<div class="memitem"> 586<div class="memproto"> 587 <table class="memname"> 588 <tr> 589 <td class="memname">XMLError tinyxml2::XMLDocument::SaveFile </td> 590 <td>(</td> 591 <td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>filename</em>, </span></td> 592 </tr> 593 <tr> 594 <td class="paramkey"></td> 595 <td></td> 596 <td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>compact</em><span class="paramdefsep"> = </span><span class="paramdefval">false</span></span> )</td> 597 </tr> 598 </table> 599</div><div class="memdoc"> 600<p>Save the XML file to disk. Returns XML_SUCCESS (0) on success, or an errorID. </p> 601 602</div> 603</div> 604<a id="a8b95779479a0035acc67b3a61dfe1b74" name="a8b95779479a0035acc67b3a61dfe1b74"></a> 605<h2 class="memtitle"><span class="permalink"><a href="#a8b95779479a0035acc67b3a61dfe1b74">◆ </a></span>SaveFile() <span class="overload">[2/2]</span></h2> 606 607<div class="memitem"> 608<div class="memproto"> 609 <table class="memname"> 610 <tr> 611 <td class="memname">XMLError tinyxml2::XMLDocument::SaveFile </td> 612 <td>(</td> 613 <td class="paramtype">FILE *</td> <td class="paramname"><span class="paramname"><em>fp</em>, </span></td> 614 </tr> 615 <tr> 616 <td class="paramkey"></td> 617 <td></td> 618 <td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>compact</em><span class="paramdefsep"> = </span><span class="paramdefval">false</span></span> )</td> 619 </tr> 620 </table> 621</div><div class="memdoc"> 622<p>Save the XML file to disk. You are responsible for providing and closing the FILE*.</p> 623<p>Returns XML_SUCCESS (0) on success, or an errorID. </p> 624 625</div> 626</div> 627<a id="a14419b698f7c4b140df4e80f3f0c93b0" name="a14419b698f7c4b140df4e80f3f0c93b0"></a> 628<h2 class="memtitle"><span class="permalink"><a href="#a14419b698f7c4b140df4e80f3f0c93b0">◆ </a></span>SetBOM()</h2> 629 630<div class="memitem"> 631<div class="memproto"> 632<table class="mlabels"> 633 <tr> 634 <td class="mlabels-left"> 635 <table class="memname"> 636 <tr> 637 <td class="memname">void tinyxml2::XMLDocument::SetBOM </td> 638 <td>(</td> 639 <td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>useBOM</em></span></td><td>)</td> 640 <td></td> 641 </tr> 642 </table> 643 </td> 644 <td class="mlabels-right"> 645<span class="mlabels"><span class="mlabel">inline</span></span> </td> 646 </tr> 647</table> 648</div><div class="memdoc"> 649<p>Sets whether to write the BOM when writing the file. </p> 650 651</div> 652</div> 653<a id="a01ab2fc16fbce5f4456d67d24090e70b" name="a01ab2fc16fbce5f4456d67d24090e70b"></a> 654<h2 class="memtitle"><span class="permalink"><a href="#a01ab2fc16fbce5f4456d67d24090e70b">◆ </a></span>ShallowClone()</h2> 655 656<div class="memitem"> 657<div class="memproto"> 658<table class="mlabels"> 659 <tr> 660 <td class="mlabels-left"> 661 <table class="memname"> 662 <tr> 663 <td class="memname">virtual <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * tinyxml2::XMLDocument::ShallowClone </td> 664 <td>(</td> 665 <td class="paramtype"><a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *</td> <td class="paramname"><span class="paramname"><em>document</em></span></td><td>)</td> 666 <td> const</td> 667 </tr> 668 </table> 669 </td> 670 <td class="mlabels-right"> 671<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> 672 </tr> 673</table> 674</div><div class="memdoc"> 675<p>Make a copy of this node, but not its children. You may pass in a Document pointer that will be the owner of the new Node. If the 'document' is null, then the node returned will be allocated from the current Document. (this-><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a48d1695f7c834129e072548957a50501" title="Get the XMLDocument that owns this XMLNode.">GetDocument()</a>)</p> 676<p>Note: if called on a <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a>, this will return null. </p> 677 678<p>Implements <a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a9046880c05b81ad99ee645f4b2a53ecd">tinyxml2::XMLNode</a>.</p> 679 680</div> 681</div> 682<a id="ac538345c44f521e418ff86b4bdc20ca8" name="ac538345c44f521e418ff86b4bdc20ca8"></a> 683<h2 class="memtitle"><span class="permalink"><a href="#ac538345c44f521e418ff86b4bdc20ca8">◆ </a></span>ShallowEqual()</h2> 684 685<div class="memitem"> 686<div class="memproto"> 687<table class="mlabels"> 688 <tr> 689 <td class="mlabels-left"> 690 <table class="memname"> 691 <tr> 692 <td class="memname">virtual bool tinyxml2::XMLDocument::ShallowEqual </td> 693 <td>(</td> 694 <td class="paramtype">const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *</td> <td class="paramname"><span class="paramname"><em>compare</em></span></td><td>)</td> 695 <td> const</td> 696 </tr> 697 </table> 698 </td> 699 <td class="mlabels-right"> 700<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> 701 </tr> 702</table> 703</div><div class="memdoc"> 704<p>Test if 2 nodes are the same, but don't test children. The 2 nodes do not need to be in the same Document.</p> 705<p>Note: if called on a <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a>, this will return false. </p> 706 707<p>Implements <a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a7ce18b751c3ea09eac292dca264f9226">tinyxml2::XMLNode</a>.</p> 708 709</div> 710</div> 711<hr/>The documentation for this class was generated from the following file:<ul> 712<li><a class="el" href="tinyxml2_8h_source.html">tinyxml2.h</a></li> 713</ul> 714</div><!-- contents --> 715<!-- start footer part --> 716<hr class="footer"/><address class="footer"><small> 717Generated on Sat Dec 30 2023 18:02:35 for TinyXML-2 by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0 718</small></address> 719</body> 720</html> 721