xref: /aosp_15_r20/external/tinyxml2/docs/classtinyxml2_1_1_x_m_l_printer.html (revision 7485b22521f577cf944e5687361548d8993d8d2c)
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::XMLPrinter 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">&#160;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&amp;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&amp;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_printer.html">XMLPrinter</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> &#124;
80<a href="#pro-methods">Protected Member Functions</a> &#124;
81<a href="classtinyxml2_1_1_x_m_l_printer-members.html">List of all members</a>  </div>
82  <div class="headertitle"><div class="title">tinyxml2::XMLPrinter Class Reference</div></div>
83</div><!--header-->
84<div class="contents">
85
86<p><code>#include &lt;<a class="el" href="tinyxml2_8h_source.html">tinyxml2.h</a>&gt;</code></p>
87<div class="dynheader">
88Inheritance diagram for tinyxml2::XMLPrinter:</div>
89<div class="dyncontent">
90 <div class="center">
91  <img src="classtinyxml2_1_1_x_m_l_printer.png" usemap="#tinyxml2::XMLPrinter_map" alt=""/>
92  <map id="tinyxml2::XMLPrinter_map" name="tinyxml2::XMLPrinter_map">
93<area href="classtinyxml2_1_1_x_m_l_visitor.html" alt="tinyxml2::XMLVisitor" shape="rect" coords="0,0,128,24"/>
94  </map>
95</div></div>
96<table class="memberdecls">
97<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
98Public Member Functions</h2></td></tr>
99<tr class="memitem:aa6d3841c069085f5b8a27bc7103c04f7" id="r_aa6d3841c069085f5b8a27bc7103c04f7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa6d3841c069085f5b8a27bc7103c04f7">XMLPrinter</a> (FILE *file=0, bool compact=false, int depth=0)</td></tr>
100<tr class="separator:aa6d3841c069085f5b8a27bc7103c04f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
101<tr class="memitem:a178c608ce8476043d5d6513819cde903" id="r_a178c608ce8476043d5d6513819cde903"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a178c608ce8476043d5d6513819cde903">PushHeader</a> (bool writeBOM, bool writeDeclaration)</td></tr>
102<tr class="separator:a178c608ce8476043d5d6513819cde903"><td class="memSeparator" colspan="2">&#160;</td></tr>
103<tr class="memitem:a20fb06c83bd13e5140d7dd13af06c010" id="r_a20fb06c83bd13e5140d7dd13af06c010"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a20fb06c83bd13e5140d7dd13af06c010">OpenElement</a> (const char *name, bool compactMode=false)</td></tr>
104<tr class="separator:a20fb06c83bd13e5140d7dd13af06c010"><td class="memSeparator" colspan="2">&#160;</td></tr>
105<tr class="memitem:a9a4e2c9348b42e147629d5a99f4af3f0" id="r_a9a4e2c9348b42e147629d5a99f4af3f0"><td class="memItemLeft" align="right" valign="top"><a id="a9a4e2c9348b42e147629d5a99f4af3f0" name="a9a4e2c9348b42e147629d5a99f4af3f0"></a>
106void&#160;</td><td class="memItemRight" valign="bottom"><b>PushAttribute</b> (const char *name, const char *value)</td></tr>
107<tr class="memdesc:a9a4e2c9348b42e147629d5a99f4af3f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">If streaming, add an attribute to an open element. <br /></td></tr>
108<tr class="separator:a9a4e2c9348b42e147629d5a99f4af3f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
109<tr class="memitem:ad04d29562b46fcdb23ab320f8b664240" id="r_ad04d29562b46fcdb23ab320f8b664240"><td class="memItemLeft" align="right" valign="top"><a id="ad04d29562b46fcdb23ab320f8b664240" name="ad04d29562b46fcdb23ab320f8b664240"></a>
110virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>CloseElement</b> (bool compactMode=false)</td></tr>
111<tr class="memdesc:ad04d29562b46fcdb23ab320f8b664240"><td class="mdescLeft">&#160;</td><td class="mdescRight">If streaming, close the Element. <br /></td></tr>
112<tr class="separator:ad04d29562b46fcdb23ab320f8b664240"><td class="memSeparator" colspan="2">&#160;</td></tr>
113<tr class="memitem:a1cc16a9362df4332012cb13cff6441b3" id="r_a1cc16a9362df4332012cb13cff6441b3"><td class="memItemLeft" align="right" valign="top"><a id="a1cc16a9362df4332012cb13cff6441b3" name="a1cc16a9362df4332012cb13cff6441b3"></a>
114void&#160;</td><td class="memItemRight" valign="bottom"><b>PushText</b> (const char *text, bool cdata=false)</td></tr>
115<tr class="memdesc:a1cc16a9362df4332012cb13cff6441b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a text node. <br /></td></tr>
116<tr class="separator:a1cc16a9362df4332012cb13cff6441b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
117<tr class="memitem:a3e0d4d78de25d4cf081009e1431cea7e" id="r_a3e0d4d78de25d4cf081009e1431cea7e"><td class="memItemLeft" align="right" valign="top"><a id="a3e0d4d78de25d4cf081009e1431cea7e" name="a3e0d4d78de25d4cf081009e1431cea7e"></a>
118void&#160;</td><td class="memItemRight" valign="bottom"><b>PushText</b> (int value)</td></tr>
119<tr class="memdesc:a3e0d4d78de25d4cf081009e1431cea7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a text node from an integer. <br /></td></tr>
120<tr class="separator:a3e0d4d78de25d4cf081009e1431cea7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<tr class="memitem:a661fb50e7e0a4918d2d259cb0fae647e" id="r_a661fb50e7e0a4918d2d259cb0fae647e"><td class="memItemLeft" align="right" valign="top"><a id="a661fb50e7e0a4918d2d259cb0fae647e" name="a661fb50e7e0a4918d2d259cb0fae647e"></a>
122void&#160;</td><td class="memItemRight" valign="bottom"><b>PushText</b> (unsigned value)</td></tr>
123<tr class="memdesc:a661fb50e7e0a4918d2d259cb0fae647e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a text node from an unsigned. <br /></td></tr>
124<tr class="separator:a661fb50e7e0a4918d2d259cb0fae647e"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="memitem:a96b0a0bfe105154a0a6c37d725258f0a" id="r_a96b0a0bfe105154a0a6c37d725258f0a"><td class="memItemLeft" align="right" valign="top"><a id="a96b0a0bfe105154a0a6c37d725258f0a" name="a96b0a0bfe105154a0a6c37d725258f0a"></a>
126void&#160;</td><td class="memItemRight" valign="bottom"><b>PushText</b> (int64_t value)</td></tr>
127<tr class="memdesc:a96b0a0bfe105154a0a6c37d725258f0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a text node from a signed 64bit integer. <br /></td></tr>
128<tr class="separator:a96b0a0bfe105154a0a6c37d725258f0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
129<tr class="memitem:a60b0a4cf57371ff8679c2c7556ccb708" id="r_a60b0a4cf57371ff8679c2c7556ccb708"><td class="memItemLeft" align="right" valign="top"><a id="a60b0a4cf57371ff8679c2c7556ccb708" name="a60b0a4cf57371ff8679c2c7556ccb708"></a>
130void&#160;</td><td class="memItemRight" valign="bottom"><b>PushText</b> (uint64_t value)</td></tr>
131<tr class="memdesc:a60b0a4cf57371ff8679c2c7556ccb708"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a text node from an unsigned 64bit integer. <br /></td></tr>
132<tr class="separator:a60b0a4cf57371ff8679c2c7556ccb708"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:a4390e5fa1ed05189a8686647345ab29f" id="r_a4390e5fa1ed05189a8686647345ab29f"><td class="memItemLeft" align="right" valign="top"><a id="a4390e5fa1ed05189a8686647345ab29f" name="a4390e5fa1ed05189a8686647345ab29f"></a>
134void&#160;</td><td class="memItemRight" valign="bottom"><b>PushText</b> (bool value)</td></tr>
135<tr class="memdesc:a4390e5fa1ed05189a8686647345ab29f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a text node from a bool. <br /></td></tr>
136<tr class="separator:a4390e5fa1ed05189a8686647345ab29f"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<tr class="memitem:a1dbb1390e829d0673af66b9cd1928bd7" id="r_a1dbb1390e829d0673af66b9cd1928bd7"><td class="memItemLeft" align="right" valign="top"><a id="a1dbb1390e829d0673af66b9cd1928bd7" name="a1dbb1390e829d0673af66b9cd1928bd7"></a>
138void&#160;</td><td class="memItemRight" valign="bottom"><b>PushText</b> (float value)</td></tr>
139<tr class="memdesc:a1dbb1390e829d0673af66b9cd1928bd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a text node from a float. <br /></td></tr>
140<tr class="separator:a1dbb1390e829d0673af66b9cd1928bd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
141<tr class="memitem:aa715302dfc09473c77c853cbd5431965" id="r_aa715302dfc09473c77c853cbd5431965"><td class="memItemLeft" align="right" valign="top"><a id="aa715302dfc09473c77c853cbd5431965" name="aa715302dfc09473c77c853cbd5431965"></a>
142void&#160;</td><td class="memItemRight" valign="bottom"><b>PushText</b> (double value)</td></tr>
143<tr class="memdesc:aa715302dfc09473c77c853cbd5431965"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a text node from a double. <br /></td></tr>
144<tr class="separator:aa715302dfc09473c77c853cbd5431965"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<tr class="memitem:afc8416814219591c2fd5656e0c233140" id="r_afc8416814219591c2fd5656e0c233140"><td class="memItemLeft" align="right" valign="top"><a id="afc8416814219591c2fd5656e0c233140" name="afc8416814219591c2fd5656e0c233140"></a>
146void&#160;</td><td class="memItemRight" valign="bottom"><b>PushComment</b> (const char *comment)</td></tr>
147<tr class="memdesc:afc8416814219591c2fd5656e0c233140"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a comment. <br /></td></tr>
148<tr class="separator:afc8416814219591c2fd5656e0c233140"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<tr class="memitem:a73eba3d1aab34c4c3ac38d7d2d186671" id="r_a73eba3d1aab34c4c3ac38d7d2d186671"><td class="memItemLeft" align="right" valign="top"><a id="a73eba3d1aab34c4c3ac38d7d2d186671" name="a73eba3d1aab34c4c3ac38d7d2d186671"></a>
150virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>VisitEnter</b> (const <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> &amp;) override</td></tr>
151<tr class="memdesc:a73eba3d1aab34c4c3ac38d7d2d186671"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit a document. <br /></td></tr>
152<tr class="separator:a73eba3d1aab34c4c3ac38d7d2d186671"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<tr class="memitem:a261a24986e3507258a74405a7dc08cbf" id="r_a261a24986e3507258a74405a7dc08cbf"><td class="memItemLeft" align="right" valign="top"><a id="a261a24986e3507258a74405a7dc08cbf" name="a261a24986e3507258a74405a7dc08cbf"></a>
154virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>VisitExit</b> (const <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> &amp;) override</td></tr>
155<tr class="memdesc:a261a24986e3507258a74405a7dc08cbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit a document. <br /></td></tr>
156<tr class="separator:a261a24986e3507258a74405a7dc08cbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
157<tr class="memitem:a5cab997d51b0387c21e2274bd1147755" id="r_a5cab997d51b0387c21e2274bd1147755"><td class="memItemLeft" align="right" valign="top"><a id="a5cab997d51b0387c21e2274bd1147755" name="a5cab997d51b0387c21e2274bd1147755"></a>
158virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>VisitEnter</b> (const <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> &amp;element, const <a class="el" href="classtinyxml2_1_1_x_m_l_attribute.html">XMLAttribute</a> *attribute) override</td></tr>
159<tr class="memdesc:a5cab997d51b0387c21e2274bd1147755"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit an element. <br /></td></tr>
160<tr class="separator:a5cab997d51b0387c21e2274bd1147755"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<tr class="memitem:a9a397f4c809a4de7ba27902b3ae1bbf7" id="r_a9a397f4c809a4de7ba27902b3ae1bbf7"><td class="memItemLeft" align="right" valign="top"><a id="a9a397f4c809a4de7ba27902b3ae1bbf7" name="a9a397f4c809a4de7ba27902b3ae1bbf7"></a>
162virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>VisitExit</b> (const <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> &amp;element) override</td></tr>
163<tr class="memdesc:a9a397f4c809a4de7ba27902b3ae1bbf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit an element. <br /></td></tr>
164<tr class="separator:a9a397f4c809a4de7ba27902b3ae1bbf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="memitem:ad903ea1672831f797130b4cddddfa532" id="r_ad903ea1672831f797130b4cddddfa532"><td class="memItemLeft" align="right" valign="top"><a id="ad903ea1672831f797130b4cddddfa532" name="ad903ea1672831f797130b4cddddfa532"></a>
166virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>Visit</b> (const <a class="el" href="classtinyxml2_1_1_x_m_l_text.html">XMLText</a> &amp;text) override</td></tr>
167<tr class="memdesc:ad903ea1672831f797130b4cddddfa532"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit a text node. <br /></td></tr>
168<tr class="separator:ad903ea1672831f797130b4cddddfa532"><td class="memSeparator" colspan="2">&#160;</td></tr>
169<tr class="memitem:a76fe434cdd4c39cb9963e3025e53609a" id="r_a76fe434cdd4c39cb9963e3025e53609a"><td class="memItemLeft" align="right" valign="top"><a id="a76fe434cdd4c39cb9963e3025e53609a" name="a76fe434cdd4c39cb9963e3025e53609a"></a>
170virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>Visit</b> (const <a class="el" href="classtinyxml2_1_1_x_m_l_comment.html">XMLComment</a> &amp;comment) override</td></tr>
171<tr class="memdesc:a76fe434cdd4c39cb9963e3025e53609a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit a comment node. <br /></td></tr>
172<tr class="separator:a76fe434cdd4c39cb9963e3025e53609a"><td class="memSeparator" colspan="2">&#160;</td></tr>
173<tr class="memitem:a63df55647c0e170e5b8702842b82008e" id="r_a63df55647c0e170e5b8702842b82008e"><td class="memItemLeft" align="right" valign="top"><a id="a63df55647c0e170e5b8702842b82008e" name="a63df55647c0e170e5b8702842b82008e"></a>
174virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>Visit</b> (const <a class="el" href="classtinyxml2_1_1_x_m_l_declaration.html">XMLDeclaration</a> &amp;declaration) override</td></tr>
175<tr class="memdesc:a63df55647c0e170e5b8702842b82008e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit a declaration. <br /></td></tr>
176<tr class="separator:a63df55647c0e170e5b8702842b82008e"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="memitem:a31002765840bc4ea7b22332f71d83c74" id="r_a31002765840bc4ea7b22332f71d83c74"><td class="memItemLeft" align="right" valign="top"><a id="a31002765840bc4ea7b22332f71d83c74" name="a31002765840bc4ea7b22332f71d83c74"></a>
178virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>Visit</b> (const <a class="el" href="classtinyxml2_1_1_x_m_l_unknown.html">XMLUnknown</a> &amp;unknown) override</td></tr>
179<tr class="memdesc:a31002765840bc4ea7b22332f71d83c74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit an unknown node. <br /></td></tr>
180<tr class="separator:a31002765840bc4ea7b22332f71d83c74"><td class="memSeparator" colspan="2">&#160;</td></tr>
181<tr class="memitem:abfa772366c44a17cdeb8aea294d57f78" id="r_abfa772366c44a17cdeb8aea294d57f78"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abfa772366c44a17cdeb8aea294d57f78">CStr</a> () const</td></tr>
182<tr class="separator:abfa772366c44a17cdeb8aea294d57f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
183<tr class="memitem:a3256cf3523d4898b91abb18b924be04c" id="r_a3256cf3523d4898b91abb18b924be04c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3256cf3523d4898b91abb18b924be04c">CStrSize</a> () const</td></tr>
184<tr class="separator:a3256cf3523d4898b91abb18b924be04c"><td class="memSeparator" colspan="2">&#160;</td></tr>
185<tr class="memitem:a690cb140ba98b7339734ff865f56b0b3" id="r_a690cb140ba98b7339734ff865f56b0b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a690cb140ba98b7339734ff865f56b0b3">ClearBuffer</a> (bool resetToFirstElement=true)</td></tr>
186<tr class="separator:a690cb140ba98b7339734ff865f56b0b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
187</table><table class="memberdecls">
188<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
189Protected Member Functions</h2></td></tr>
190<tr class="memitem:a01148e2ebe6776e38c5a3e41bc5feb74" id="r_a01148e2ebe6776e38c5a3e41bc5feb74"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a01148e2ebe6776e38c5a3e41bc5feb74">PrintSpace</a> (int depth)</td></tr>
191<tr class="separator:a01148e2ebe6776e38c5a3e41bc5feb74"><td class="memSeparator" colspan="2">&#160;</td></tr>
192</table>
193<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
194<div class="textblock"><p>Printing functionality. The <a class="el" href="classtinyxml2_1_1_x_m_l_printer.html">XMLPrinter</a> gives you more options than the <a class="el" href="classtinyxml2_1_1_x_m_l_document.html#a867cf5fa3e3ff6ae4847a8b7ee8ec083">XMLDocument::Print()</a> method.</p>
195<p>It can:</p><ol type="1">
196<li>Print to memory.</li>
197<li>Print to a file you provide.</li>
198<li>Print XML without a <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a>.</li>
199</ol>
200<p>Print to Memory</p>
201<pre class="fragment">XMLPrinter printer;
202doc.Print( &amp;printer );
203SomeFunction( printer.CStr() );
204</pre><p>Print to a File</p>
205<p>You provide the file pointer. </p><pre class="fragment">XMLPrinter printer( fp );
206doc.Print( &amp;printer );
207</pre><p>Print without a <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a></p>
208<p>When loading, an XML parser is very useful. However, sometimes when saving, it just gets in the way. The code is often set up for streaming, and constructing the DOM is just overhead.</p>
209<p>The Printer supports the streaming case. The following code prints out a trivially simple XML file without ever creating an XML document.</p>
210<pre class="fragment">XMLPrinter printer( fp );
211printer.OpenElement( "foo" );
212printer.PushAttribute( "foo", "bar" );
213printer.CloseElement();
214</pre> </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
215<a id="aa6d3841c069085f5b8a27bc7103c04f7" name="aa6d3841c069085f5b8a27bc7103c04f7"></a>
216<h2 class="memtitle"><span class="permalink"><a href="#aa6d3841c069085f5b8a27bc7103c04f7">&#9670;&#160;</a></span>XMLPrinter()</h2>
217
218<div class="memitem">
219<div class="memproto">
220      <table class="memname">
221        <tr>
222          <td class="memname">tinyxml2::XMLPrinter::XMLPrinter </td>
223          <td>(</td>
224          <td class="paramtype">FILE *</td>          <td class="paramname"><span class="paramname"><em>file</em><span class="paramdefsep"> = </span><span class="paramdefval">0</span>, </span></td>
225        </tr>
226        <tr>
227          <td class="paramkey"></td>
228          <td></td>
229          <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>
230        </tr>
231        <tr>
232          <td class="paramkey"></td>
233          <td></td>
234          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>depth</em><span class="paramdefsep"> = </span><span class="paramdefval">0</span></span>&#160;)</td>
235        </tr>
236      </table>
237</div><div class="memdoc">
238<p>Construct the printer. If the FILE* is specified, this will print to the FILE. Else it will print to memory, and the result is available in <a class="el" href="#abfa772366c44a17cdeb8aea294d57f78">CStr()</a>. If 'compact' is set to true, then output is created with only required whitespace and newlines. </p>
239
240</div>
241</div>
242<h2 class="groupheader">Member Function Documentation</h2>
243<a id="a690cb140ba98b7339734ff865f56b0b3" name="a690cb140ba98b7339734ff865f56b0b3"></a>
244<h2 class="memtitle"><span class="permalink"><a href="#a690cb140ba98b7339734ff865f56b0b3">&#9670;&#160;</a></span>ClearBuffer()</h2>
245
246<div class="memitem">
247<div class="memproto">
248<table class="mlabels">
249  <tr>
250  <td class="mlabels-left">
251      <table class="memname">
252        <tr>
253          <td class="memname">void tinyxml2::XMLPrinter::ClearBuffer </td>
254          <td>(</td>
255          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>resetToFirstElement</em><span class="paramdefsep"> = </span><span class="paramdefval">true</span></span></td><td>)</td>
256          <td></td>
257        </tr>
258      </table>
259  </td>
260  <td class="mlabels-right">
261<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
262  </tr>
263</table>
264</div><div class="memdoc">
265<p>If in print to memory mode, reset the buffer to the beginning. </p>
266
267</div>
268</div>
269<a id="abfa772366c44a17cdeb8aea294d57f78" name="abfa772366c44a17cdeb8aea294d57f78"></a>
270<h2 class="memtitle"><span class="permalink"><a href="#abfa772366c44a17cdeb8aea294d57f78">&#9670;&#160;</a></span>CStr()</h2>
271
272<div class="memitem">
273<div class="memproto">
274<table class="mlabels">
275  <tr>
276  <td class="mlabels-left">
277      <table class="memname">
278        <tr>
279          <td class="memname">const char * tinyxml2::XMLPrinter::CStr </td>
280          <td>(</td>
281          <td class="paramname"><span class="paramname"></span></td><td>)</td>
282          <td> const</td>
283        </tr>
284      </table>
285  </td>
286  <td class="mlabels-right">
287<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
288  </tr>
289</table>
290</div><div class="memdoc">
291<p>If in print to memory mode, return a pointer to the XML file in memory. </p>
292
293</div>
294</div>
295<a id="a3256cf3523d4898b91abb18b924be04c" name="a3256cf3523d4898b91abb18b924be04c"></a>
296<h2 class="memtitle"><span class="permalink"><a href="#a3256cf3523d4898b91abb18b924be04c">&#9670;&#160;</a></span>CStrSize()</h2>
297
298<div class="memitem">
299<div class="memproto">
300<table class="mlabels">
301  <tr>
302  <td class="mlabels-left">
303      <table class="memname">
304        <tr>
305          <td class="memname">int tinyxml2::XMLPrinter::CStrSize </td>
306          <td>(</td>
307          <td class="paramname"><span class="paramname"></span></td><td>)</td>
308          <td> const</td>
309        </tr>
310      </table>
311  </td>
312  <td class="mlabels-right">
313<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
314  </tr>
315</table>
316</div><div class="memdoc">
317<p>If in print to memory mode, return the size of the XML file in memory. (Note the size returned includes the terminating null.) </p>
318
319</div>
320</div>
321<a id="a20fb06c83bd13e5140d7dd13af06c010" name="a20fb06c83bd13e5140d7dd13af06c010"></a>
322<h2 class="memtitle"><span class="permalink"><a href="#a20fb06c83bd13e5140d7dd13af06c010">&#9670;&#160;</a></span>OpenElement()</h2>
323
324<div class="memitem">
325<div class="memproto">
326      <table class="memname">
327        <tr>
328          <td class="memname">void tinyxml2::XMLPrinter::OpenElement </td>
329          <td>(</td>
330          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>name</em>, </span></td>
331        </tr>
332        <tr>
333          <td class="paramkey"></td>
334          <td></td>
335          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>compactMode</em><span class="paramdefsep"> = </span><span class="paramdefval">false</span></span>&#160;)</td>
336        </tr>
337      </table>
338</div><div class="memdoc">
339<p>If streaming, start writing an element. The element must be closed with <a class="el" href="#ad04d29562b46fcdb23ab320f8b664240" title="If streaming, close the Element.">CloseElement()</a> </p>
340
341</div>
342</div>
343<a id="a01148e2ebe6776e38c5a3e41bc5feb74" name="a01148e2ebe6776e38c5a3e41bc5feb74"></a>
344<h2 class="memtitle"><span class="permalink"><a href="#a01148e2ebe6776e38c5a3e41bc5feb74">&#9670;&#160;</a></span>PrintSpace()</h2>
345
346<div class="memitem">
347<div class="memproto">
348<table class="mlabels">
349  <tr>
350  <td class="mlabels-left">
351      <table class="memname">
352        <tr>
353          <td class="memname">virtual void tinyxml2::XMLPrinter::PrintSpace </td>
354          <td>(</td>
355          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>depth</em></span></td><td>)</td>
356          <td></td>
357        </tr>
358      </table>
359  </td>
360  <td class="mlabels-right">
361<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
362  </tr>
363</table>
364</div><div class="memdoc">
365<p>Prints out the space before an element. You may override to change the space and tabs used. A <a class="el" href="#a01148e2ebe6776e38c5a3e41bc5feb74">PrintSpace()</a> override should call Print(). </p>
366
367</div>
368</div>
369<a id="a178c608ce8476043d5d6513819cde903" name="a178c608ce8476043d5d6513819cde903"></a>
370<h2 class="memtitle"><span class="permalink"><a href="#a178c608ce8476043d5d6513819cde903">&#9670;&#160;</a></span>PushHeader()</h2>
371
372<div class="memitem">
373<div class="memproto">
374      <table class="memname">
375        <tr>
376          <td class="memname">void tinyxml2::XMLPrinter::PushHeader </td>
377          <td>(</td>
378          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>writeBOM</em>, </span></td>
379        </tr>
380        <tr>
381          <td class="paramkey"></td>
382          <td></td>
383          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>writeDeclaration</em></span>&#160;)</td>
384        </tr>
385      </table>
386</div><div class="memdoc">
387<p>If streaming, write the BOM and declaration. </p>
388
389</div>
390</div>
391<hr/>The documentation for this class was generated from the following file:<ul>
392<li><a class="el" href="tinyxml2_8h_source.html">tinyxml2.h</a></li>
393</ul>
394</div><!-- contents -->
395<!-- start footer part -->
396<hr class="footer"/><address class="footer"><small>
397Generated on Sat Dec 30 2023 18:02:35 for TinyXML-2 by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0
398</small></address>
399</body>
400</html>
401