1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>TinyXml: TiXmlNode Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5</head><body>
6<!-- Generated by Doxygen 1.4.4 -->
7<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a></div>
8<h1>TiXmlNode Class Reference</h1><!-- doxytag: class="TiXmlNode" --><!-- doxytag: inherits="TiXmlBase" -->The parent class for everything in the Document Object Model.  
9<a href="#_details">More...</a>
10<p>
11<code>#include &lt;<a class="el" href="tinyxml_8h-source.html">tinyxml.h</a>&gt;</code>
12<p>
13<p>Inheritance diagram for TiXmlNode:
14<p><center><img src="classTiXmlNode.png" usemap="#TiXmlNode_map" border="0" alt=""></center>
15<map name="TiXmlNode_map">
16<area href="classTiXmlBase.html" alt="TiXmlBase" shape="rect" coords="295,0,403,24">
17<area href="classTiXmlComment.html" alt="TiXmlComment" shape="rect" coords="0,112,108,136">
18<area href="classTiXmlDeclaration.html" alt="TiXmlDeclaration" shape="rect" coords="118,112,226,136">
19<area href="classTiXmlDocument.html" alt="TiXmlDocument" shape="rect" coords="236,112,344,136">
20<area href="classTiXmlElement.html" alt="TiXmlElement" shape="rect" coords="354,112,462,136">
21<area href="classTiXmlText.html" alt="TiXmlText" shape="rect" coords="472,112,580,136">
22<area href="classTiXmlUnknown.html" alt="TiXmlUnknown" shape="rect" coords="590,112,698,136">
23</map>
24<a href="classTiXmlNode-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
25<tr><td></td></tr>
26<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
27<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#w7">NodeType</a> </td></tr>
28
29<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The types of XML nodes supported by TinyXml.  <a href="classTiXmlNode.html#w7">More...</a><br></td></tr>
30<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
31<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a1">Value</a> () const </td></tr>
32
33<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The meaning of 'value' changes for the specific type of TiXmlNode.  <a href="#a1"></a><br></td></tr>
34<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a2">ValueStr</a> () const </td></tr>
35
36<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return <a class="el" href="classTiXmlNode.html#a1">Value()</a> as a std::string.  <a href="#a2"></a><br></td></tr>
37<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a3">SetValue</a> (const char *_value)</td></tr>
38
39<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the value of the node.  <a href="#a3"></a><br></td></tr>
40<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4"></a><!-- doxytag: member="TiXmlNode::SetValue" ref="a4" args="(const std::string &amp;_value)" -->
41void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a4">SetValue</a> (const std::string &amp;_value)</td></tr>
42
43<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
44<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5"></a><!-- doxytag: member="TiXmlNode::Clear" ref="a5" args="()" -->
45void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a5">Clear</a> ()</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete all the children of this node. Does not affect 'this'. <br></td></tr>
48<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6"></a><!-- doxytag: member="TiXmlNode::Parent" ref="a6" args="()" -->
49<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a6">Parent</a> ()</td></tr>
50
51<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">One step up the DOM. <br></td></tr>
52<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="a8" args="() const " -->
53const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a8">FirstChild</a> () const </td></tr>
54
55<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The first child of this node. Will be null if there are no children. <br></td></tr>
56<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a10"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="a10" args="(const char *value) const " -->
57const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a10">FirstChild</a> (const char *value) const </td></tr>
58
59<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The first child of this node with the matching 'value'. Will be null if none found. <br></td></tr>
60<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a11"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="a11" args="(const char *value)" -->
61<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a11">FirstChild</a> (const char *value)</td></tr>
62
63<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The first child of this node with the matching 'value'. Will be null if none found. <br></td></tr>
64<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a13"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="a13" args="()" -->
65<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a13">LastChild</a> ()</td></tr>
66
67<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The last child of this node. Will be null if there are no children. <br></td></tr>
68<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a15"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="a15" args="(const char *value)" -->
69<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a15">LastChild</a> (const char *value)</td></tr>
70
71<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The last child of this node matching 'value'. Will be null if there are no children. <br></td></tr>
72<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a16"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="a16" args="(const std::string &amp;_value) const " -->
73const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a16">FirstChild</a> (const std::string &amp;_value) const </td></tr>
74
75<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
76<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a17"></a><!-- doxytag: member="TiXmlNode::FirstChild" ref="a17" args="(const std::string &amp;_value)" -->
77<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a17">FirstChild</a> (const std::string &amp;_value)</td></tr>
78
79<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
80<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a18"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="a18" args="(const std::string &amp;_value) const " -->
81const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a18">LastChild</a> (const std::string &amp;_value) const </td></tr>
82
83<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
84<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a19"></a><!-- doxytag: member="TiXmlNode::LastChild" ref="a19" args="(const std::string &amp;_value)" -->
85<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a19">LastChild</a> (const std::string &amp;_value)</td></tr>
86
87<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
88<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a20">IterateChildren</a> (const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous) const </td></tr>
89
90<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An alternate way to walk the children of a node.  <a href="#a20"></a><br></td></tr>
91<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a22"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="a22" args="(const char *value, const TiXmlNode *previous) const " -->
92const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a22">IterateChildren</a> (const char *value, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous) const </td></tr>
93
94<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This flavor of IterateChildren searches for children with a particular 'value'. <br></td></tr>
95<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a24"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="a24" args="(const std::string &amp;_value, const TiXmlNode *previous) const " -->
96const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a24">IterateChildren</a> (const std::string &amp;_value, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous) const </td></tr>
97
98<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
99<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a25"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="a25" args="(const std::string &amp;_value, TiXmlNode *previous)" -->
100<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a25">IterateChildren</a> (const std::string &amp;_value, <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *previous)</td></tr>
101
102<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
103<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a26">InsertEndChild</a> (const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;addThis)</td></tr>
104
105<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this.  <a href="#a26"></a><br></td></tr>
106<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a27">LinkEndChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *addThis)</td></tr>
107
108<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this.  <a href="#a27"></a><br></td></tr>
109<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a28">InsertBeforeChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *beforeThis, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;addThis)</td></tr>
110
111<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this.  <a href="#a28"></a><br></td></tr>
112<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a29">InsertAfterChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *afterThis, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;addThis)</td></tr>
113
114<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new node related to this.  <a href="#a29"></a><br></td></tr>
115<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a30">ReplaceChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *replaceThis, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;withThis)</td></tr>
116
117<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace a child of this node.  <a href="#a30"></a><br></td></tr>
118<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a31"></a><!-- doxytag: member="TiXmlNode::RemoveChild" ref="a31" args="(TiXmlNode *removeThis)" -->
119bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a31">RemoveChild</a> (<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *removeThis)</td></tr>
120
121<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a child of this node. <br></td></tr>
122<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a32"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="a32" args="() const " -->
123const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a32">PreviousSibling</a> () const </td></tr>
124
125<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node. <br></td></tr>
126<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a34"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="a34" args="(const char *) const " -->
127const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a34">PreviousSibling</a> (const char *) const </td></tr>
128
129<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node. <br></td></tr>
130<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a36"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="a36" args="(const std::string &amp;_value) const " -->
131const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a36">PreviousSibling</a> (const std::string &amp;_value) const </td></tr>
132
133<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
134<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a37"></a><!-- doxytag: member="TiXmlNode::PreviousSibling" ref="a37" args="(const std::string &amp;_value)" -->
135<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a37">PreviousSibling</a> (const std::string &amp;_value)</td></tr>
136
137<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
138<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a38"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="a38" args="(const std::string &amp;_value) const " -->
139const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a38">NextSibling</a> (const std::string &amp;_value) const </td></tr>
140
141<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
142<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a39"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="a39" args="(const std::string &amp;_value)" -->
143<a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a39">NextSibling</a> (const std::string &amp;_value)</td></tr>
144
145<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
146<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a40"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="a40" args="() const " -->
147const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a40">NextSibling</a> () const </td></tr>
148
149<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node. <br></td></tr>
150<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a42"></a><!-- doxytag: member="TiXmlNode::NextSibling" ref="a42" args="(const char *) const " -->
151const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a42">NextSibling</a> (const char *) const </td></tr>
152
153<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Navigate to a sibling node with the given 'value'. <br></td></tr>
154<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a44">NextSiblingElement</a> () const </td></tr>
155
156<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements.  <a href="#a44"></a><br></td></tr>
157<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a46">NextSiblingElement</a> (const char *) const </td></tr>
158
159<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements.  <a href="#a46"></a><br></td></tr>
160<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a48"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="a48" args="(const std::string &amp;_value) const " -->
161const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a48">NextSiblingElement</a> (const std::string &amp;_value) const </td></tr>
162
163<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
164<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a49"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="a49" args="(const std::string &amp;_value)" -->
165<a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a49">NextSiblingElement</a> (const std::string &amp;_value)</td></tr>
166
167<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
168<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a50"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="a50" args="() const " -->
169const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a50">FirstChildElement</a> () const </td></tr>
170
171<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements. <br></td></tr>
172<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a52"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="a52" args="(const char *value) const " -->
173const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a52">FirstChildElement</a> (const char *value) const </td></tr>
174
175<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to get through elements. <br></td></tr>
176<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a54"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="a54" args="(const std::string &amp;_value) const " -->
177const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a54">FirstChildElement</a> (const std::string &amp;_value) const </td></tr>
178
179<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
180<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a55"></a><!-- doxytag: member="TiXmlNode::FirstChildElement" ref="a55" args="(const std::string &amp;_value)" -->
181<a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a55">FirstChildElement</a> (const std::string &amp;_value)</td></tr>
182
183<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL std::string form. <br></td></tr>
184<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a56">Type</a> () const </td></tr>
185
186<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the type (as an enumerated value, above) of this node.  <a href="#a56"></a><br></td></tr>
187<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a57">GetDocument</a> () const </td></tr>
188
189<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to the Document this node lives in.  <a href="#a57"></a><br></td></tr>
190<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a59"></a><!-- doxytag: member="TiXmlNode::NoChildren" ref="a59" args="() const " -->
191bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a59">NoChildren</a> () const </td></tr>
192
193<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if this node has no children. <br></td></tr>
194<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a60"></a><!-- doxytag: member="TiXmlNode::ToDocument" ref="a60" args="() const " -->
195const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a60">ToDocument</a> () const </td></tr>
196
197<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
198<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a61"></a><!-- doxytag: member="TiXmlNode::ToElement" ref="a61" args="() const " -->
199const <a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a61">ToElement</a> () const </td></tr>
200
201<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
202<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a62"></a><!-- doxytag: member="TiXmlNode::ToComment" ref="a62" args="() const " -->
203const <a class="el" href="classTiXmlComment.html">TiXmlComment</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a62">ToComment</a> () const </td></tr>
204
205<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
206<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a63"></a><!-- doxytag: member="TiXmlNode::ToUnknown" ref="a63" args="() const " -->
207const <a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a63">ToUnknown</a> () const </td></tr>
208
209<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
210<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a64"></a><!-- doxytag: member="TiXmlNode::ToText" ref="a64" args="() const " -->
211const <a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a64">ToText</a> () const </td></tr>
212
213<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
214<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a65"></a><!-- doxytag: member="TiXmlNode::ToDeclaration" ref="a65" args="() const " -->
215const <a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a65">ToDeclaration</a> () const </td></tr>
216
217<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
218<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a66"></a><!-- doxytag: member="TiXmlNode::ToDocument" ref="a66" args="()" -->
219<a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a66">ToDocument</a> ()</td></tr>
220
221<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
222<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a67"></a><!-- doxytag: member="TiXmlNode::ToElement" ref="a67" args="()" -->
223<a class="el" href="classTiXmlElement.html">TiXmlElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a67">ToElement</a> ()</td></tr>
224
225<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
226<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a68"></a><!-- doxytag: member="TiXmlNode::ToComment" ref="a68" args="()" -->
227<a class="el" href="classTiXmlComment.html">TiXmlComment</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a68">ToComment</a> ()</td></tr>
228
229<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
230<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a69"></a><!-- doxytag: member="TiXmlNode::ToUnknown" ref="a69" args="()" -->
231<a class="el" href="classTiXmlUnknown.html">TiXmlUnknown</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a69">ToUnknown</a> ()</td></tr>
232
233<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
234<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a70"></a><!-- doxytag: member="TiXmlNode::ToText" ref="a70" args="()" -->
235<a class="el" href="classTiXmlText.html">TiXmlText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a70">ToText</a> ()</td></tr>
236
237<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
238<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a71"></a><!-- doxytag: member="TiXmlNode::ToDeclaration" ref="a71" args="()" -->
239<a class="el" href="classTiXmlDeclaration.html">TiXmlDeclaration</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a71">ToDeclaration</a> ()</td></tr>
240
241<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cast to a more defined type. Will return null not of the requested type. <br></td></tr>
242<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#a72">Clone</a> () const =0</td></tr>
243
244<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an exact duplicate of this node and return it.  <a href="#a72"></a><br></td></tr>
245<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
246<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="n0"></a><!-- doxytag: member="TiXmlNode::TiXmlDocument" ref="n0" args="" -->
247class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#n0">TiXmlDocument</a></td></tr>
248
249<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="n1"></a><!-- doxytag: member="TiXmlNode::TiXmlElement" ref="n1" args="" -->
250class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#n1">TiXmlElement</a></td></tr>
251
252<tr><td class="memItemLeft" nowrap align="right" valign="top">std::istream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#n2">operator&gt;&gt;</a> (std::istream &amp;in, <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;base)</td></tr>
253
254<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An input stream operator, for every class.  <a href="#n2"></a><br></td></tr>
255<tr><td class="memItemLeft" nowrap align="right" valign="top">std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#n3">operator&lt;&lt;</a> (std::ostream &amp;out, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;base)</td></tr>
256
257<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An output stream operator, for every class.  <a href="#n3"></a><br></td></tr>
258<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="n4"></a><!-- doxytag: member="TiXmlNode::operator&lt;&lt;" ref="n4" args="(std::string &amp;out, const TiXmlNode &amp;base)" -->
259std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTiXmlNode.html#n4">operator&lt;&lt;</a> (std::string &amp;out, const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;base)</td></tr>
260
261<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends the XML node or attribute to a std::string. <br></td></tr>
262</table>
263<hr><a name="_details"></a><h2>Detailed Description</h2>
264The parent class for everything in the Document Object Model. 
265<p>
266(Except for attributes). Nodes have siblings, a parent, and children. A node can be in a document, or stand on its own. The type of a TiXmlNode can be queried, and it can be cast to its more defined type.
267<p>
268<hr><h2>Member Enumeration Documentation</h2>
269<a class="anchor" name="w7"></a><!-- doxytag: member="TiXmlNode::NodeType" ref="w7" args="" --><p>
270<table class="mdTable" cellpadding="2" cellspacing="0">
271  <tr>
272    <td class="mdRow">
273      <table cellpadding="0" cellspacing="0" border="0">
274        <tr>
275          <td class="md" nowrap valign="top">enum <a class="el" href="classTiXmlNode.html#w7">TiXmlNode::NodeType</a>          </td>
276        </tr>
277      </table>
278    </td>
279  </tr>
280</table>
281<table cellspacing="5" cellpadding="0" border="0">
282  <tr>
283    <td>
284      &nbsp;
285    </td>
286    <td>
287
288<p>
289The types of XML nodes supported by TinyXml. 
290<p>
291(All the unsupported types are picked up by UNKNOWN.)    </td>
292  </tr>
293</table>
294<hr><h2>Member Function Documentation</h2>
295<a class="anchor" name="a72"></a><!-- doxytag: member="TiXmlNode::Clone" ref="a72" args="() const =0" --><p>
296<table class="mdTable" cellpadding="2" cellspacing="0">
297  <tr>
298    <td class="mdRow">
299      <table cellpadding="0" cellspacing="0" border="0">
300        <tr>
301          <td class="md" nowrap valign="top">virtual <a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::Clone           </td>
302          <td class="md" valign="top">(&nbsp;</td>
303          <td class="mdname1" valign="top" nowrap>          </td>
304          <td class="md" valign="top">&nbsp;)&nbsp;</td>
305          <td class="md" nowrap> const<code> [pure virtual]</code></td>
306        </tr>
307      </table>
308    </td>
309  </tr>
310</table>
311<table cellspacing="5" cellpadding="0" border="0">
312  <tr>
313    <td>
314      &nbsp;
315    </td>
316    <td>
317
318<p>
319Create an exact duplicate of this node and return it. 
320<p>
321The memory must be deleted by the caller.
322<p>
323Implemented in <a class="el" href="classTiXmlElement.html#a28">TiXmlElement</a>, <a class="el" href="classTiXmlComment.html#a4">TiXmlComment</a>, <a class="el" href="classTiXmlText.html#b0">TiXmlText</a>, <a class="el" href="classTiXmlDeclaration.html#a9">TiXmlDeclaration</a>, <a class="el" href="classTiXmlUnknown.html#a4">TiXmlUnknown</a>, and <a class="el" href="classTiXmlDocument.html#b1">TiXmlDocument</a>.    </td>
324  </tr>
325</table>
326<a class="anchor" name="a57"></a><!-- doxytag: member="TiXmlNode::GetDocument" ref="a57" args="() const " --><p>
327<table class="mdTable" cellpadding="2" cellspacing="0">
328  <tr>
329    <td class="mdRow">
330      <table cellpadding="0" cellspacing="0" border="0">
331        <tr>
332          <td class="md" nowrap valign="top">const <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a>* TiXmlNode::GetDocument           </td>
333          <td class="md" valign="top">(&nbsp;</td>
334          <td class="mdname1" valign="top" nowrap>          </td>
335          <td class="md" valign="top">&nbsp;)&nbsp;</td>
336          <td class="md" nowrap> const</td>
337        </tr>
338      </table>
339    </td>
340  </tr>
341</table>
342<table cellspacing="5" cellpadding="0" border="0">
343  <tr>
344    <td>
345      &nbsp;
346    </td>
347    <td>
348
349<p>
350Return a pointer to the Document this node lives in. 
351<p>
352Returns null if not in a document.    </td>
353  </tr>
354</table>
355<a class="anchor" name="a29"></a><!-- doxytag: member="TiXmlNode::InsertAfterChild" ref="a29" args="(TiXmlNode *afterThis, const TiXmlNode &amp;addThis)" --><p>
356<table class="mdTable" cellpadding="2" cellspacing="0">
357  <tr>
358    <td class="mdRow">
359      <table cellpadding="0" cellspacing="0" border="0">
360        <tr>
361          <td class="md" nowrap valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::InsertAfterChild           </td>
362          <td class="md" valign="top">(&nbsp;</td>
363          <td class="md" nowrap valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td>
364          <td class="mdname" nowrap> <em>afterThis</em>, </td>
365        </tr>
366        <tr>
367          <td class="md" nowrap align="right"></td>
368          <td class="md"></td>
369          <td class="md" nowrap>const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;&nbsp;</td>
370          <td class="mdname" nowrap> <em>addThis</em></td>
371        </tr>
372        <tr>
373          <td class="md"></td>
374          <td class="md">)&nbsp;</td>
375          <td class="md" colspan="2"></td>
376        </tr>
377      </table>
378    </td>
379  </tr>
380</table>
381<table cellspacing="5" cellpadding="0" border="0">
382  <tr>
383    <td>
384      &nbsp;
385    </td>
386    <td>
387
388<p>
389Add a new node related to this. 
390<p>
391Adds a child after the specified child. Returns a pointer to the new object or NULL if an error occured.    </td>
392  </tr>
393</table>
394<a class="anchor" name="a28"></a><!-- doxytag: member="TiXmlNode::InsertBeforeChild" ref="a28" args="(TiXmlNode *beforeThis, const TiXmlNode &amp;addThis)" --><p>
395<table class="mdTable" cellpadding="2" cellspacing="0">
396  <tr>
397    <td class="mdRow">
398      <table cellpadding="0" cellspacing="0" border="0">
399        <tr>
400          <td class="md" nowrap valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::InsertBeforeChild           </td>
401          <td class="md" valign="top">(&nbsp;</td>
402          <td class="md" nowrap valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td>
403          <td class="mdname" nowrap> <em>beforeThis</em>, </td>
404        </tr>
405        <tr>
406          <td class="md" nowrap align="right"></td>
407          <td class="md"></td>
408          <td class="md" nowrap>const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;&nbsp;</td>
409          <td class="mdname" nowrap> <em>addThis</em></td>
410        </tr>
411        <tr>
412          <td class="md"></td>
413          <td class="md">)&nbsp;</td>
414          <td class="md" colspan="2"></td>
415        </tr>
416      </table>
417    </td>
418  </tr>
419</table>
420<table cellspacing="5" cellpadding="0" border="0">
421  <tr>
422    <td>
423      &nbsp;
424    </td>
425    <td>
426
427<p>
428Add a new node related to this. 
429<p>
430Adds a child before the specified child. Returns a pointer to the new object or NULL if an error occured.    </td>
431  </tr>
432</table>
433<a class="anchor" name="a26"></a><!-- doxytag: member="TiXmlNode::InsertEndChild" ref="a26" args="(const TiXmlNode &amp;addThis)" --><p>
434<table class="mdTable" cellpadding="2" cellspacing="0">
435  <tr>
436    <td class="mdRow">
437      <table cellpadding="0" cellspacing="0" border="0">
438        <tr>
439          <td class="md" nowrap valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::InsertEndChild           </td>
440          <td class="md" valign="top">(&nbsp;</td>
441          <td class="md" nowrap valign="top">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;&nbsp;</td>
442          <td class="mdname1" valign="top" nowrap> <em>addThis</em>          </td>
443          <td class="md" valign="top">&nbsp;)&nbsp;</td>
444          <td class="md" nowrap></td>
445        </tr>
446      </table>
447    </td>
448  </tr>
449</table>
450<table cellspacing="5" cellpadding="0" border="0">
451  <tr>
452    <td>
453      &nbsp;
454    </td>
455    <td>
456
457<p>
458Add a new node related to this. 
459<p>
460Adds a child past the LastChild. Returns a pointer to the new object or NULL if an error occured.    </td>
461  </tr>
462</table>
463<a class="anchor" name="a20"></a><!-- doxytag: member="TiXmlNode::IterateChildren" ref="a20" args="(const TiXmlNode *previous) const " --><p>
464<table class="mdTable" cellpadding="2" cellspacing="0">
465  <tr>
466    <td class="mdRow">
467      <table cellpadding="0" cellspacing="0" border="0">
468        <tr>
469          <td class="md" nowrap valign="top">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::IterateChildren           </td>
470          <td class="md" valign="top">(&nbsp;</td>
471          <td class="md" nowrap valign="top">const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td>
472          <td class="mdname1" valign="top" nowrap> <em>previous</em>          </td>
473          <td class="md" valign="top">&nbsp;)&nbsp;</td>
474          <td class="md" nowrap> const</td>
475        </tr>
476      </table>
477    </td>
478  </tr>
479</table>
480<table cellspacing="5" cellpadding="0" border="0">
481  <tr>
482    <td>
483      &nbsp;
484    </td>
485    <td>
486
487<p>
488An alternate way to walk the children of a node. 
489<p>
490One way to iterate over nodes is: <div class="fragment"><pre class="fragment">			for( child = parent-&gt;FirstChild(); child; child = child-&gt;NextSibling() )
491		</pre></div><p>
492IterateChildren does the same thing with the syntax: <div class="fragment"><pre class="fragment">			child = 0;
493			while( child = parent-&gt;IterateChildren( child ) )
494		</pre></div><p>
495IterateChildren takes the previous child as input and finds the next one. If the previous child is null, it returns the first. IterateChildren will return null when done.    </td>
496  </tr>
497</table>
498<a class="anchor" name="a27"></a><!-- doxytag: member="TiXmlNode::LinkEndChild" ref="a27" args="(TiXmlNode *addThis)" --><p>
499<table class="mdTable" cellpadding="2" cellspacing="0">
500  <tr>
501    <td class="mdRow">
502      <table cellpadding="0" cellspacing="0" border="0">
503        <tr>
504          <td class="md" nowrap valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::LinkEndChild           </td>
505          <td class="md" valign="top">(&nbsp;</td>
506          <td class="md" nowrap valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td>
507          <td class="mdname1" valign="top" nowrap> <em>addThis</em>          </td>
508          <td class="md" valign="top">&nbsp;)&nbsp;</td>
509          <td class="md" nowrap></td>
510        </tr>
511      </table>
512    </td>
513  </tr>
514</table>
515<table cellspacing="5" cellpadding="0" border="0">
516  <tr>
517    <td>
518      &nbsp;
519    </td>
520    <td>
521
522<p>
523Add a new node related to this. 
524<p>
525Adds a child past the LastChild.<p>
526NOTE: the node to be added is passed by pointer, and will be henceforth owned (and deleted) by tinyXml. This method is efficient and avoids an extra copy, but should be used with care as it uses a different memory model than the other insert functions.<p>
527<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classTiXmlNode.html#a26">InsertEndChild</a></dd></dl>
528    </td>
529  </tr>
530</table>
531<a class="anchor" name="a46"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="a46" args="(const char *) const " --><p>
532<table class="mdTable" cellpadding="2" cellspacing="0">
533  <tr>
534    <td class="mdRow">
535      <table cellpadding="0" cellspacing="0" border="0">
536        <tr>
537          <td class="md" nowrap valign="top">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlNode::NextSiblingElement           </td>
538          <td class="md" valign="top">(&nbsp;</td>
539          <td class="md" nowrap valign="top">const char *&nbsp;</td>
540          <td class="mdname1" valign="top" nowrap>          </td>
541          <td class="md" valign="top">&nbsp;)&nbsp;</td>
542          <td class="md" nowrap> const</td>
543        </tr>
544      </table>
545    </td>
546  </tr>
547</table>
548<table cellspacing="5" cellpadding="0" border="0">
549  <tr>
550    <td>
551      &nbsp;
552    </td>
553    <td>
554
555<p>
556Convenience function to get through elements. 
557<p>
558Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element.    </td>
559  </tr>
560</table>
561<a class="anchor" name="a44"></a><!-- doxytag: member="TiXmlNode::NextSiblingElement" ref="a44" args="() const " --><p>
562<table class="mdTable" cellpadding="2" cellspacing="0">
563  <tr>
564    <td class="mdRow">
565      <table cellpadding="0" cellspacing="0" border="0">
566        <tr>
567          <td class="md" nowrap valign="top">const <a class="el" href="classTiXmlElement.html">TiXmlElement</a>* TiXmlNode::NextSiblingElement           </td>
568          <td class="md" valign="top">(&nbsp;</td>
569          <td class="mdname1" valign="top" nowrap>          </td>
570          <td class="md" valign="top">&nbsp;)&nbsp;</td>
571          <td class="md" nowrap> const</td>
572        </tr>
573      </table>
574    </td>
575  </tr>
576</table>
577<table cellspacing="5" cellpadding="0" border="0">
578  <tr>
579    <td>
580      &nbsp;
581    </td>
582    <td>
583
584<p>
585Convenience function to get through elements. 
586<p>
587Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element.    </td>
588  </tr>
589</table>
590<a class="anchor" name="a30"></a><!-- doxytag: member="TiXmlNode::ReplaceChild" ref="a30" args="(TiXmlNode *replaceThis, const TiXmlNode &amp;withThis)" --><p>
591<table class="mdTable" cellpadding="2" cellspacing="0">
592  <tr>
593    <td class="mdRow">
594      <table cellpadding="0" cellspacing="0" border="0">
595        <tr>
596          <td class="md" nowrap valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a>* TiXmlNode::ReplaceChild           </td>
597          <td class="md" valign="top">(&nbsp;</td>
598          <td class="md" nowrap valign="top"><a class="el" href="classTiXmlNode.html">TiXmlNode</a> *&nbsp;</td>
599          <td class="mdname" nowrap> <em>replaceThis</em>, </td>
600        </tr>
601        <tr>
602          <td class="md" nowrap align="right"></td>
603          <td class="md"></td>
604          <td class="md" nowrap>const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;&nbsp;</td>
605          <td class="mdname" nowrap> <em>withThis</em></td>
606        </tr>
607        <tr>
608          <td class="md"></td>
609          <td class="md">)&nbsp;</td>
610          <td class="md" colspan="2"></td>
611        </tr>
612      </table>
613    </td>
614  </tr>
615</table>
616<table cellspacing="5" cellpadding="0" border="0">
617  <tr>
618    <td>
619      &nbsp;
620    </td>
621    <td>
622
623<p>
624Replace a child of this node. 
625<p>
626Returns a pointer to the new object or NULL if an error occured.    </td>
627  </tr>
628</table>
629<a class="anchor" name="a3"></a><!-- doxytag: member="TiXmlNode::SetValue" ref="a3" args="(const char *_value)" --><p>
630<table class="mdTable" cellpadding="2" cellspacing="0">
631  <tr>
632    <td class="mdRow">
633      <table cellpadding="0" cellspacing="0" border="0">
634        <tr>
635          <td class="md" nowrap valign="top">void TiXmlNode::SetValue           </td>
636          <td class="md" valign="top">(&nbsp;</td>
637          <td class="md" nowrap valign="top">const char *&nbsp;</td>
638          <td class="mdname1" valign="top" nowrap> <em>_value</em>          </td>
639          <td class="md" valign="top">&nbsp;)&nbsp;</td>
640          <td class="md" nowrap><code> [inline]</code></td>
641        </tr>
642      </table>
643    </td>
644  </tr>
645</table>
646<table cellspacing="5" cellpadding="0" border="0">
647  <tr>
648    <td>
649      &nbsp;
650    </td>
651    <td>
652
653<p>
654Changes the value of the node. 
655<p>
656Defined as: <div class="fragment"><pre class="fragment">		Document:	filename of the xml file
657		Element:	name of the element
658		Comment:	the comment text
659		Unknown:	the tag contents
660		Text:		the text string
661		</pre></div>    </td>
662  </tr>
663</table>
664<a class="anchor" name="a56"></a><!-- doxytag: member="TiXmlNode::Type" ref="a56" args="() const " --><p>
665<table class="mdTable" cellpadding="2" cellspacing="0">
666  <tr>
667    <td class="mdRow">
668      <table cellpadding="0" cellspacing="0" border="0">
669        <tr>
670          <td class="md" nowrap valign="top">virtual int TiXmlNode::Type           </td>
671          <td class="md" valign="top">(&nbsp;</td>
672          <td class="mdname1" valign="top" nowrap>          </td>
673          <td class="md" valign="top">&nbsp;)&nbsp;</td>
674          <td class="md" nowrap> const<code> [inline, virtual]</code></td>
675        </tr>
676      </table>
677    </td>
678  </tr>
679</table>
680<table cellspacing="5" cellpadding="0" border="0">
681  <tr>
682    <td>
683      &nbsp;
684    </td>
685    <td>
686
687<p>
688Query the type (as an enumerated value, above) of this node. 
689<p>
690The possible types are: DOCUMENT, ELEMENT, COMMENT, UNKNOWN, TEXT, and DECLARATION.    </td>
691  </tr>
692</table>
693<a class="anchor" name="a1"></a><!-- doxytag: member="TiXmlNode::Value" ref="a1" args="() const " --><p>
694<table class="mdTable" cellpadding="2" cellspacing="0">
695  <tr>
696    <td class="mdRow">
697      <table cellpadding="0" cellspacing="0" border="0">
698        <tr>
699          <td class="md" nowrap valign="top">const char* TiXmlNode::Value           </td>
700          <td class="md" valign="top">(&nbsp;</td>
701          <td class="mdname1" valign="top" nowrap>          </td>
702          <td class="md" valign="top">&nbsp;)&nbsp;</td>
703          <td class="md" nowrap> const<code> [inline]</code></td>
704        </tr>
705      </table>
706    </td>
707  </tr>
708</table>
709<table cellspacing="5" cellpadding="0" border="0">
710  <tr>
711    <td>
712      &nbsp;
713    </td>
714    <td>
715
716<p>
717The meaning of 'value' changes for the specific type of TiXmlNode. 
718<p>
719<div class="fragment"><pre class="fragment">		Document:	filename of the xml file
720		Element:	name of the element
721		Comment:	the comment text
722		Unknown:	the tag contents
723		Text:		the text string
724		</pre></div><p>
725The subclasses will wrap this function.    </td>
726  </tr>
727</table>
728<a class="anchor" name="a2"></a><!-- doxytag: member="TiXmlNode::ValueStr" ref="a2" args="() const " --><p>
729<table class="mdTable" cellpadding="2" cellspacing="0">
730  <tr>
731    <td class="mdRow">
732      <table cellpadding="0" cellspacing="0" border="0">
733        <tr>
734          <td class="md" nowrap valign="top">const std::string&amp; TiXmlNode::ValueStr           </td>
735          <td class="md" valign="top">(&nbsp;</td>
736          <td class="mdname1" valign="top" nowrap>          </td>
737          <td class="md" valign="top">&nbsp;)&nbsp;</td>
738          <td class="md" nowrap> const<code> [inline]</code></td>
739        </tr>
740      </table>
741    </td>
742  </tr>
743</table>
744<table cellspacing="5" cellpadding="0" border="0">
745  <tr>
746    <td>
747      &nbsp;
748    </td>
749    <td>
750
751<p>
752Return <a class="el" href="classTiXmlNode.html#a1">Value()</a> as a std::string. 
753<p>
754If you only use STL, this is more efficient than calling <a class="el" href="classTiXmlNode.html#a1">Value()</a>. Only available in STL mode.    </td>
755  </tr>
756</table>
757<hr><h2>Friends And Related Function Documentation</h2>
758<a class="anchor" name="n3"></a><!-- doxytag: member="TiXmlNode::operator&lt;&lt;" ref="n3" args="(std::ostream &amp;out, const TiXmlNode &amp;base)" --><p>
759<table class="mdTable" cellpadding="2" cellspacing="0">
760  <tr>
761    <td class="mdRow">
762      <table cellpadding="0" cellspacing="0" border="0">
763        <tr>
764          <td class="md" nowrap valign="top">std::ostream&amp; operator&lt;&lt;           </td>
765          <td class="md" valign="top">(&nbsp;</td>
766          <td class="md" nowrap valign="top">std::ostream &amp;&nbsp;</td>
767          <td class="mdname" nowrap> <em>out</em>, </td>
768        </tr>
769        <tr>
770          <td class="md" nowrap align="right"></td>
771          <td class="md"></td>
772          <td class="md" nowrap>const <a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;&nbsp;</td>
773          <td class="mdname" nowrap> <em>base</em></td>
774        </tr>
775        <tr>
776          <td class="md"></td>
777          <td class="md">)&nbsp;</td>
778          <td class="md" colspan="2"><code> [friend]</code></td>
779        </tr>
780      </table>
781    </td>
782  </tr>
783</table>
784<table cellspacing="5" cellpadding="0" border="0">
785  <tr>
786    <td>
787      &nbsp;
788    </td>
789    <td>
790
791<p>
792An output stream operator, for every class. 
793<p>
794Note that this outputs without any newlines or formatting, as opposed to <a class="el" href="classTiXmlBase.html#a2">Print()</a>, which includes tabs and new lines.<p>
795The operator&lt;&lt; and operator&gt;&gt; are not completely symmetric. Writing a node to a stream is very well defined. You'll get a nice stream of output, without any extra whitespace or newlines.<p>
796But reading is not as well defined. (As it always is.) If you create a <a class="el" href="classTiXmlElement.html">TiXmlElement</a> (for example) and read that from an input stream, the text needs to define an element or junk will result. This is true of all input streams, but it's worth keeping in mind.<p>
797A <a class="el" href="classTiXmlDocument.html">TiXmlDocument</a> will read nodes until it reads a root element, and all the children of that root element.    </td>
798  </tr>
799</table>
800<a class="anchor" name="n2"></a><!-- doxytag: member="TiXmlNode::operator&gt;&gt;" ref="n2" args="(std::istream &amp;in, TiXmlNode &amp;base)" --><p>
801<table class="mdTable" cellpadding="2" cellspacing="0">
802  <tr>
803    <td class="mdRow">
804      <table cellpadding="0" cellspacing="0" border="0">
805        <tr>
806          <td class="md" nowrap valign="top">std::istream&amp; operator&gt;&gt;           </td>
807          <td class="md" valign="top">(&nbsp;</td>
808          <td class="md" nowrap valign="top">std::istream &amp;&nbsp;</td>
809          <td class="mdname" nowrap> <em>in</em>, </td>
810        </tr>
811        <tr>
812          <td class="md" nowrap align="right"></td>
813          <td class="md"></td>
814          <td class="md" nowrap><a class="el" href="classTiXmlNode.html">TiXmlNode</a> &amp;&nbsp;</td>
815          <td class="mdname" nowrap> <em>base</em></td>
816        </tr>
817        <tr>
818          <td class="md"></td>
819          <td class="md">)&nbsp;</td>
820          <td class="md" colspan="2"><code> [friend]</code></td>
821        </tr>
822      </table>
823    </td>
824  </tr>
825</table>
826<table cellspacing="5" cellpadding="0" border="0">
827  <tr>
828    <td>
829      &nbsp;
830    </td>
831    <td>
832
833<p>
834An input stream operator, for every class. 
835<p>
836Tolerant of newlines and formatting, but doesn't expect them.    </td>
837  </tr>
838</table>
839<hr>The documentation for this class was generated from the following file:<ul>
840<li><a class="el" href="tinyxml_8h-source.html">tinyxml.h</a></ul>
841<hr size="1"><address style="align: right;"><small>Generated on Sat Oct 8 14:15:30 2005 for TinyXml by&nbsp;
842<a href="http://www.doxygen.org/index.html">
843<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address>
844</body>
845</html>
846