0
0
mirror of https://github.com/zeux/pugixml.git synced 2024-12-29 07:19:43 +08:00
pugixml/docs/html/classpugi_1_1xml__node.html
arseny.kapoulkine ca8a2a450c Updated doxygen-generated documentation
git-svn-id: http://pugixml.googlecode.com/svn/trunk@130 99668b35-9821-0410-8761-19e4c4f06640
2009-09-17 18:20:49 +00:00

3056 lines
147 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>pugixml: pugi::xml_node Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6-NO -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<div class="nav">
<a class="el" href="namespacepugi.html">pugi</a>::<a class="el" href="classpugi_1_1xml__node.html">xml_node</a></div>
<h1>pugi::xml_node Class Reference</h1><!-- doxytag: class="pugi::xml_node" -->Inheritance diagram for pugi::xml_node:<p><center><img src="classpugi_1_1xml__node__inherit__graph.png" border="0" usemap="#pugi_1_1xml__node__inherit__map" alt="Inheritance graph"></center>
<map name="pugi_1_1xml__node__inherit__map">
<area href="classpugi_1_1xml__document.html" shape="rect" coords="5,80,147,107" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for pugi::xml_node:<p><center><img src="classpugi_1_1xml__node__coll__graph.png" border="0" usemap="#pugi_1_1xml__node__coll__map" alt="Collaboration graph"></center>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classpugi_1_1xml__node-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
A light-weight wrapper for manipulating nodes in DOM tree.
<p>
Note: <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> does not allocate any memory for the node it wraps; it only wraps a pointer to existing node.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpugi_1_1xml__node__iterator.html">xml_node_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#e053ea39add5a64de584f7a81212e388">iterator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Node iterator type (for child nodes). <a href="#e053ea39add5a64de584f7a81212e388"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpugi_1_1xml__attribute__iterator.html">xml_attribute_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#9084f97350ffc64af1eaf7c17c57f4ba">attribute_iterator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Node iterator type (for child nodes). <a href="#9084f97350ffc64af1eaf7c17c57f4ba"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#1db6c67c97cddd74f59d872057987432">xml_node</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default ctor. <a href="#1db6c67c97cddd74f59d872057987432"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#fa8c35f7bc0254101cf4979372deb52e">operator unspecified_bool_type</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Safe bool conversion. <a href="#fa8c35f7bc0254101cf4979372deb52e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00bf2b5f7eb5507384ebfe7e20dd2cbf"></a><!-- doxytag: member="pugi::xml_node::operator!" ref="00bf2b5f7eb5507384ebfe7e20dd2cbf" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!</b> () const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#427236c4a20d1fa232bd2233f72c73be">operator==</a> (const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;r) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>. <a href="#427236c4a20d1fa232bd2233f72c73be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#7b5aeeff39fd31e5123ba5c23d6b8676">operator!=</a> (const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;r) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>. <a href="#7b5aeeff39fd31e5123ba5c23d6b8676"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#8d7c1b506be1b2ee0dea7dca1f2e80d6">operator&lt;</a> (const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;r) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>. <a href="#8d7c1b506be1b2ee0dea7dca1f2e80d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#04a82fd56f91edb82bf34cc409bdcf04">operator&gt;</a> (const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;r) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>. <a href="#04a82fd56f91edb82bf34cc409bdcf04"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#a97cf42c013ec35eb76c5314cadb4e26">operator&lt;=</a> (const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;r) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>. <a href="#a97cf42c013ec35eb76c5314cadb4e26"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#08e0c3feeb7909e6234a8fe7ccb07d7c">operator&gt;=</a> (const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;r) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>. <a href="#08e0c3feeb7909e6234a8fe7ccb07d7c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node__iterator.html">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#af4acdf745dfb4b01e3f144ed314d28a">begin</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access the begin iterator for this node's collection of child nodes. <a href="#af4acdf745dfb4b01e3f144ed314d28a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node__iterator.html">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#1cfc6360de985d724812f67650892658">end</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access the end iterator for this node's collection of child nodes. <a href="#1cfc6360de985d724812f67650892658"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute__iterator.html">attribute_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#b62a944c00d7ed00519e83c23bed0675">attributes_begin</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access the begin iterator for this node's collection of attributes. <a href="#b62a944c00d7ed00519e83c23bed0675"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute__iterator.html">attribute_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#3dffd0eff455030c2075451327403beb">attributes_end</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access the end iterator for this node's collection of attributes. <a href="#3dffd0eff455030c2075451327403beb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#3516f879718f3ea1782a0324cb31f798">empty</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if node is empty. <a href="#3516f879718f3ea1782a0324cb31f798"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacepugi.html#137e94a038e4ab0ada6477cf7f6153a9">xml_node_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#28231e644bc70075286c75175a05d849">type</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get node type. <a href="#28231e644bc70075286c75175a05d849"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#1f0c8b4652edc55e4f46ced685ae60f4">name</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get node name (element name for element nodes, PI target for PI). <a href="#1f0c8b4652edc55e4f46ced685ae60f4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#0f28b7a44f40d1ac58fdc8202e04805e">value</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get node value (comment/PI/PCDATA/CDATA contents, depending on node type). <a href="#0f28b7a44f40d1ac58fdc8202e04805e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#eecbadd7bdc18c503064f7c47efe067a">child</a> (const char *name) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get child with the specified name. <a href="#eecbadd7bdc18c503064f7c47efe067a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#961024c2c8424a01a8528c96f520c05f">child_w</a> (const char *name) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get child with the name that matches specified pattern. <a href="#961024c2c8424a01a8528c96f520c05f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#974b051c270013d889d57cda2e8af669">attribute</a> (const char *name) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get attribute with the specified name. <a href="#974b051c270013d889d57cda2e8af669"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#690982cdfd2c6181e1118d8238d64a54">attribute_w</a> (const char *name) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get attribute with the name that matches specified pattern. <a href="#690982cdfd2c6181e1118d8238d64a54"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#e76de35f11d46c9987d87262e9430b77">next_sibling</a> (const char *name) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get first of following sibling nodes with the specified name. <a href="#e76de35f11d46c9987d87262e9430b77"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#3154a0d481e54bbde8f01edd1901698c">next_sibling_w</a> (const char *name) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get first of the following sibling nodes with the name that matches specified pattern. <a href="#3154a0d481e54bbde8f01edd1901698c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#1d0d1e460eff5305e6bf50d9f65a58bc">next_sibling</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get following sibling. <a href="#1d0d1e460eff5305e6bf50d9f65a58bc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#d8b5f303fe2f9305318c2d500041f088">previous_sibling</a> (const char *name) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get first of preceding sibling nodes with the specified name. <a href="#d8b5f303fe2f9305318c2d500041f088"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#f98f6bc32514761133fc01eec3c77a09">previous_sibling_w</a> (const char *name) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get first of the preceding sibling nodes with the name that matches specified pattern. <a href="#f98f6bc32514761133fc01eec3c77a09"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#919305f60b3ac08432867cbc94f6e3da">previous_sibling</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get preceding sibling. <a href="#919305f60b3ac08432867cbc94f6e3da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#aa4c19abe199d4eacae18f832deb4d70">parent</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get parent node. <a href="#aa4c19abe199d4eacae18f832deb4d70"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#f7d6cc0124c07dbb192e779c375a7c16">root</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get root of DOM tree this node belongs to. <a href="#f7d6cc0124c07dbb192e779c375a7c16"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#6726059659e4df0aaa9c2f9fd1053e98">child_value</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get child value of current node; that is, value of the first child node of type PCDATA/CDATA. <a href="#6726059659e4df0aaa9c2f9fd1053e98"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#be85f5f7160c0b314691d4a45fb61151">child_value</a> (const char *name) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get child value of child with specified name. <a href="#be85f5f7160c0b314691d4a45fb61151"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#441dfaf2aa8435154674cae81e5fb77c">child_value_w</a> (const char *name) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get child value of child with name that matches the specified pattern. <a href="#441dfaf2aa8435154674cae81e5fb77c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#f81bf55a3f7b9d40ee8807ac1be93a86">set_name</a> (const char *rhs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set node name to <em>rhs</em> (for PI/element nodes). <a href="#f81bf55a3f7b9d40ee8807ac1be93a86"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#afa7b8f3ffa652e5e279f79e04d22d4c">set_value</a> (const char *rhs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set node value to <em>rhs</em> (for PI/PCDATA/CDATA/comment nodes). <a href="#afa7b8f3ffa652e5e279f79e04d22d4c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#645c4d7283f755a7b25839667a5fd9c7">append_attribute</a> (const char *name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add attribute with specified name (for element nodes). <a href="#645c4d7283f755a7b25839667a5fd9c7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#395ce9c52840edead28b50a7a69565ab">insert_attribute_after</a> (const char *name, const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;attr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert attribute with specified name after <em>attr</em> (for element nodes). <a href="#395ce9c52840edead28b50a7a69565ab"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#36cfed4439fba1f140d89e351c2bb552">insert_attribute_before</a> (const char *name, const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;attr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert attribute with specified name before <em>attr</em> (for element nodes). <a href="#36cfed4439fba1f140d89e351c2bb552"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#b480b6e6080d4dd83ebb46e5d10e706b">append_copy</a> (const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;proto)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a copy of the specified attribute (for element nodes). <a href="#b480b6e6080d4dd83ebb46e5d10e706b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#406c755ac801843febcf905228d7d0a9">insert_copy_after</a> (const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;proto, const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;attr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a copy of the specified attribute after <em>attr</em> (for element nodes). <a href="#406c755ac801843febcf905228d7d0a9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#998d3fe85ce36aa1de55cb7403cc0dd7">insert_copy_before</a> (const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;proto, const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;attr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a copy of the specified attribute before <em>attr</em> (for element nodes). <a href="#998d3fe85ce36aa1de55cb7403cc0dd7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#498e41f14a04014eaf5d6af3ae8f9d99">append_child</a> (<a class="el" href="namespacepugi.html#137e94a038e4ab0ada6477cf7f6153a9">xml_node_type</a> type=node_element)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add child node with specified type (for element nodes). <a href="#498e41f14a04014eaf5d6af3ae8f9d99"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#fb2c70e3908e65b001dcd9bcf794d605">insert_child_after</a> (<a class="el" href="namespacepugi.html#137e94a038e4ab0ada6477cf7f6153a9">xml_node_type</a> type, const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;node)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert child node with specified type after <em>node</em> (for element nodes). <a href="#fb2c70e3908e65b001dcd9bcf794d605"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#a07c23d9835e8174fbe75f0c9a0c7d7b">insert_child_before</a> (<a class="el" href="namespacepugi.html#137e94a038e4ab0ada6477cf7f6153a9">xml_node_type</a> type, const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;node)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert child node with specified type before <em>node</em> (for element nodes). <a href="#a07c23d9835e8174fbe75f0c9a0c7d7b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#56796f244b13436de2f33da3e8c182f8">append_copy</a> (const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;proto)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a copy of the specified node as a child (for element nodes). <a href="#56796f244b13436de2f33da3e8c182f8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#0789c30be732fc91069ac6a18dec4d92">insert_copy_after</a> (const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;proto, const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;node)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a copy of the specified node after <em>node</em> (for element nodes). <a href="#0789c30be732fc91069ac6a18dec4d92"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#86369d34a6d625e1859752de89c2bf30">insert_copy_before</a> (const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;proto, const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;node)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a copy of the specified node before <em>node</em> (for element nodes). <a href="#86369d34a6d625e1859752de89c2bf30"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#af26856382cbd75434e7ac3ac255c2a7">remove_attribute</a> (const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;a)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove specified attribute. <a href="#af26856382cbd75434e7ac3ac255c2a7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#177097ca7770e8d80350d15cc96a3dd9">remove_attribute</a> (const char *name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove attribute with the specified name, if any. <a href="#177097ca7770e8d80350d15cc96a3dd9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#f44301eb411be0e0787c49d292c93fb5">remove_child</a> (const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove specified child. <a href="#f44301eb411be0e0787c49d292c93fb5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#023157bd57e3696c9f49f23944ac909f">remove_child</a> (const char *name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove child with the specified name, if any. <a href="#023157bd57e3696c9f49f23944ac909f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#aae0bdb0c69fb895f66b239720d5d2d0">first_attribute</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get first attribute. <a href="#aae0bdb0c69fb895f66b239720d5d2d0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#3e93125923e0b195de4369d50776ecc6">last_attribute</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get last attribute. <a href="#3e93125923e0b195de4369d50776ecc6"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename OutputIterator&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#21a123c51fa592b6f2ceb2e22411edd9">all_elements_by_name</a> (const char *name, OutputIterator it) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get all elements from subtree with given name. <a href="#21a123c51fa592b6f2ceb2e22411edd9"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename OutputIterator&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#90347629066ca2eedeaee4d5d4038fe7">all_elements_by_name_w</a> (const char *name, OutputIterator it) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get all elements from subtree with name that matches given pattern. <a href="#90347629066ca2eedeaee4d5d4038fe7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#da6e0ce4318d7f72f8b037e39433b298">first_child</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get first child. <a href="#da6e0ce4318d7f72f8b037e39433b298"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#b92290e7dbc9292e4ff5d6949bd02e01">last_child</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get last child. <a href="#b92290e7dbc9292e4ff5d6949bd02e01"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Predicate&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#6b921b19dbf2c792daaf46544df44fb6">find_attribute</a> (Predicate pred) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find attribute using predicate. <a href="#6b921b19dbf2c792daaf46544df44fb6"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Predicate&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#132ca635cc0ab99180be0ffcc156a616">find_child</a> (Predicate pred) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find child node using predicate. <a href="#132ca635cc0ab99180be0ffcc156a616"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Predicate&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#f3a5796f1c99df52244f3c73f5c03d8e">find_node</a> (Predicate pred) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find node from subtree using predicate. <a href="#f3a5796f1c99df52244f3c73f5c03d8e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#4e7de1cba4e7e948bcef4c086c513dd2">find_child_by_attribute</a> (const char *name, const char *attr_name, const char *attr_value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find child node with the specified name that has specified attribute. <a href="#4e7de1cba4e7e948bcef4c086c513dd2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#d1e3d1739dd57475857ddfa2b0f48f17">find_child_by_attribute_w</a> (const char *name, const char *attr_name, const char *attr_value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find child node with the specified name that has specified attribute (use pattern matching for node name and attribute name/value). <a href="#d1e3d1739dd57475857ddfa2b0f48f17"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#662edbf3a53be9c678e0dfdd129e606e">find_child_by_attribute</a> (const char *attr_name, const char *attr_value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find child node that has specified attribute. <a href="#662edbf3a53be9c678e0dfdd129e606e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#7a8e4b34d973b9614af621fd58d6ee05">find_child_by_attribute_w</a> (const char *attr_name, const char *attr_value) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find child node that has specified attribute (use pattern matching for attribute name/value). <a href="#7a8e4b34d973b9614af621fd58d6ee05"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#9d5ed8a5d73d252e5786f034d277d504">path</a> (char delimiter= '/') const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the absolute node path from root as a text string. <a href="#9d5ed8a5d73d252e5786f034d277d504"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#4be3a6da6307a33954fbdc5f210de209">first_element_by_path</a> (const char *path, char delimiter= '/') const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Search for a node by path. <a href="#4be3a6da6307a33954fbdc5f210de209"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#41be22248598bdf1575ed8d7bdd77807">traverse</a> (<a class="el" href="classpugi_1_1xml__tree__walker.html">xml_tree_walker</a> &amp;walker)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Recursively traverse subtree with <a class="el" href="classpugi_1_1xml__tree__walker.html">xml_tree_walker</a>. <a href="#41be22248598bdf1575ed8d7bdd77807"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xpath__node.html">xpath_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#51e5d0926657898bd555bf9560805230">select_single_node</a> (const char *query) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select single node by evaluating XPath query. <a href="#51e5d0926657898bd555bf9560805230"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xpath__node.html">xpath_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#30e004e4939797a84da7916ea950ec33">select_single_node</a> (<a class="el" href="classpugi_1_1xpath__query.html">xpath_query</a> &amp;query) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select single node by evaluating XPath query. <a href="#30e004e4939797a84da7916ea950ec33"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xpath__node__set.html">xpath_node_set</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#6f73abaa40adb72a826095cf107e9624">select_nodes</a> (const char *query) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select node set by evaluating XPath query. <a href="#6f73abaa40adb72a826095cf107e9624"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpugi_1_1xpath__node__set.html">xpath_node_set</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#041475ecea08aeab971707daefe0c3c7">select_nodes</a> (<a class="el" href="classpugi_1_1xpath__query.html">xpath_query</a> &amp;query) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select node set by evaluating XPath query. <a href="#041475ecea08aeab971707daefe0c3c7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5008c4bc71bc148973d629d4033f27c4"></a><!-- doxytag: member="pugi::xml_node::document_order" ref="5008c4bc71bc148973d629d4033f27c4" args="() const " -->
unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><b>document_order</b> () const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#89036df09e55056e88b93c4b517f9a5d">print</a> (<a class="el" href="classpugi_1_1xml__writer.html">xml_writer</a> &amp;writer, const char *indent=&quot;\t&quot;, unsigned int flags=<a class="el" href="namespacepugi.html#325f48a35abbaeacdfd8b7fc9ed1713c">format_default</a>, unsigned int depth=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print subtree to writer. <a href="#89036df09e55056e88b93c4b517f9a5d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#8a0a9d086cc2e5c1f92cb79452695949">print</a> (std::ostream &amp;os, const char *indent=&quot;\t&quot;, unsigned int flags=<a class="el" href="namespacepugi.html#325f48a35abbaeacdfd8b7fc9ed1713c">format_default</a>, unsigned int depth=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print subtree to stream. <a href="#8a0a9d086cc2e5c1f92cb79452695949"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpugi_1_1xml__node.html#c5f384ec06339e0f5d69ee39766d20a9">offset_debug</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get node offset in parsed file/string (in bytes) for debugging purposes. <a href="#c5f384ec06339e0f5d69ee39766d20a9"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="303b18f86fd1e917afe4f8a9c70ab545"></a><!-- doxytag: member="pugi::xml_node::unspecified_bool_type" ref="303b18f86fd1e917afe4f8a9c70ab545" args="" -->
typedef xml_node_struct *xml_node::*&nbsp;</td><td class="memItemRight" valign="bottom"><b>unspecified_bool_type</b></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6897fb4e94def0ec60fda1f459bd746d"></a><!-- doxytag: member="pugi::xml_node::xml_node" ref="6897fb4e94def0ec60fda1f459bd746d" args="(xml_node_struct *p)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>xml_node</b> (xml_node_struct *p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a932bf51eb3b505df677f77fcd327063"></a><!-- doxytag: member="pugi::xml_node::precompute_document_order_impl" ref="a932bf51eb3b505df677f77fcd327063" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>precompute_document_order_impl</b> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d323403e9ffe8cf7406076369a25bc4b"></a><!-- doxytag: member="pugi::xml_node::get_allocator" ref="d323403e9ffe8cf7406076369a25bc4b" args="() const " -->
xml_allocator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_allocator</b> () const </td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45a5b342de1e37a60565f7693f03cc08"></a><!-- doxytag: member="pugi::xml_node::_root" ref="45a5b342de1e37a60565f7693f03cc08" args="" -->
xml_node_struct *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_root</b></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a25e28e29a8cec4daa60cdd2d5934757"></a><!-- doxytag: member="pugi::xml_node::xml_node_iterator" ref="a25e28e29a8cec4daa60cdd2d5934757" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>xml_node_iterator</b></td></tr>
</table>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="e053ea39add5a64de584f7a81212e388"></a><!-- doxytag: member="pugi::xml_node::iterator" ref="e053ea39add5a64de584f7a81212e388" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">typedef <a class="el" href="classpugi_1_1xml__node__iterator.html">xml_node_iterator</a> <a class="el" href="classpugi_1_1xml__node__iterator.html">pugi::xml_node::iterator</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Node iterator type (for child nodes).
<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classpugi_1_1xml__node__iterator.html">xml_node_iterator</a> </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="9084f97350ffc64af1eaf7c17c57f4ba"></a><!-- doxytag: member="pugi::xml_node::attribute_iterator" ref="9084f97350ffc64af1eaf7c17c57f4ba" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">typedef <a class="el" href="classpugi_1_1xml__attribute__iterator.html">xml_attribute_iterator</a> <a class="el" href="classpugi_1_1xml__attribute__iterator.html">pugi::xml_node::attribute_iterator</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Node iterator type (for child nodes).
<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classpugi_1_1xml__attribute__iterator.html">xml_attribute_iterator</a> </dd></dl>
</td>
</tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="1db6c67c97cddd74f59d872057987432"></a><!-- doxytag: member="pugi::xml_node::xml_node" ref="1db6c67c97cddd74f59d872057987432" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">pugi::xml_node::xml_node </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Default ctor.
<p>
Constructs an empty node. </td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="fa8c35f7bc0254101cf4979372deb52e"></a><!-- doxytag: member="pugi::xml_node::operator unspecified_bool_type" ref="fa8c35f7bc0254101cf4979372deb52e" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">pugi::xml_node::operator unspecified_bool_type </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Safe bool conversion.
<p>
Allows <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> to be used in a context where boolean variable is expected, such as 'if (node)'. </td>
</tr>
</table>
<a class="anchor" name="427236c4a20d1fa232bd2233f72c73be"></a><!-- doxytag: member="pugi::xml_node::operator==" ref="427236c4a20d1fa232bd2233f72c73be" args="(const xml_node &amp;r) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">bool pugi::xml_node::operator== </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>r</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>- value to compare to </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>comparison result </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="7b5aeeff39fd31e5123ba5c23d6b8676"></a><!-- doxytag: member="pugi::xml_node::operator!=" ref="7b5aeeff39fd31e5123ba5c23d6b8676" args="(const xml_node &amp;r) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">bool pugi::xml_node::operator!= </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>r</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>- value to compare to </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>comparison result </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="8d7c1b506be1b2ee0dea7dca1f2e80d6"></a><!-- doxytag: member="pugi::xml_node::operator&lt;" ref="8d7c1b506be1b2ee0dea7dca1f2e80d6" args="(const xml_node &amp;r) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">bool pugi::xml_node::operator&lt; </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>r</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>- value to compare to </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>comparison result </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="04a82fd56f91edb82bf34cc409bdcf04"></a><!-- doxytag: member="pugi::xml_node::operator&gt;" ref="04a82fd56f91edb82bf34cc409bdcf04" args="(const xml_node &amp;r) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">bool pugi::xml_node::operator&gt; </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>r</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>- value to compare to </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>comparison result </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="a97cf42c013ec35eb76c5314cadb4e26"></a><!-- doxytag: member="pugi::xml_node::operator&lt;=" ref="a97cf42c013ec35eb76c5314cadb4e26" args="(const xml_node &amp;r) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">bool pugi::xml_node::operator&lt;= </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>r</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>- value to compare to </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>comparison result </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="08e0c3feeb7909e6234a8fe7ccb07d7c"></a><!-- doxytag: member="pugi::xml_node::operator&gt;=" ref="08e0c3feeb7909e6234a8fe7ccb07d7c" args="(const xml_node &amp;r) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">bool pugi::xml_node::operator&gt;= </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>r</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Compare wrapped pointer to the attribute to the pointer that is wrapped by <em>r</em>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>- value to compare to </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>comparison result </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="af4acdf745dfb4b01e3f144ed314d28a"></a><!-- doxytag: member="pugi::xml_node::begin" ref="af4acdf745dfb4b01e3f144ed314d28a" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node__iterator.html">iterator</a> pugi::xml_node::begin </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Access the begin iterator for this node's collection of child nodes.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>iterator that points to the first child node, or past-the-end iterator if node is empty or has no children </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="1cfc6360de985d724812f67650892658"></a><!-- doxytag: member="pugi::xml_node::end" ref="1cfc6360de985d724812f67650892658" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node__iterator.html">iterator</a> pugi::xml_node::end </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Access the end iterator for this node's collection of child nodes.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>past-the-end iterator for child list </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="b62a944c00d7ed00519e83c23bed0675"></a><!-- doxytag: member="pugi::xml_node::attributes_begin" ref="b62a944c00d7ed00519e83c23bed0675" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute__iterator.html">attribute_iterator</a> pugi::xml_node::attributes_begin </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Access the begin iterator for this node's collection of attributes.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>iterator that points to the first attribute, or past-the-end iterator if node is empty or has no attributes </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="3dffd0eff455030c2075451327403beb"></a><!-- doxytag: member="pugi::xml_node::attributes_end" ref="3dffd0eff455030c2075451327403beb" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute__iterator.html">attribute_iterator</a> pugi::xml_node::attributes_end </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Access the end iterator for this node's collection of attributes.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>past-the-end iterator for attribute list </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="3516f879718f3ea1782a0324cb31f798"></a><!-- doxytag: member="pugi::xml_node::empty" ref="3516f879718f3ea1782a0324cb31f798" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">bool pugi::xml_node::empty </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Check if node is empty.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>true if node is empty, false otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="28231e644bc70075286c75175a05d849"></a><!-- doxytag: member="pugi::xml_node::type" ref="28231e644bc70075286c75175a05d849" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="namespacepugi.html#137e94a038e4ab0ada6477cf7f6153a9">xml_node_type</a> pugi::xml_node::type </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get node type.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>node type; node_null for empty nodes </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="1f0c8b4652edc55e4f46ced685ae60f4"></a><!-- doxytag: member="pugi::xml_node::name" ref="1f0c8b4652edc55e4f46ced685ae60f4" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">const char* pugi::xml_node::name </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get node name (element name for element nodes, PI target for PI).
<p>
<dl compact><dt><b>Returns:</b></dt><dd>node name, if any; "" otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="0f28b7a44f40d1ac58fdc8202e04805e"></a><!-- doxytag: member="pugi::xml_node::value" ref="0f28b7a44f40d1ac58fdc8202e04805e" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">const char* pugi::xml_node::value </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get node value (comment/PI/PCDATA/CDATA contents, depending on node type).
<p>
<dl compact><dt><b>Returns:</b></dt><dd>node value, if any; "" otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="eecbadd7bdc18c503064f7c47efe067a"></a><!-- doxytag: member="pugi::xml_node::child" ref="eecbadd7bdc18c503064f7c47efe067a" args="(const char *name) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::child </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get child with the specified name.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- child name </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>child with the specified name, if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="961024c2c8424a01a8528c96f520c05f"></a><!-- doxytag: member="pugi::xml_node::child_w" ref="961024c2c8424a01a8528c96f520c05f" args="(const char *name) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::child_w </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get child with the name that matches specified pattern.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- child name pattern </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>child with the name that matches pattern, if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="974b051c270013d889d57cda2e8af669"></a><!-- doxytag: member="pugi::xml_node::attribute" ref="974b051c270013d889d57cda2e8af669" args="(const char *name) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> pugi::xml_node::attribute </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get attribute with the specified name.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- attribute name </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>attribute with the specified name, if any; empty attribute otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="690982cdfd2c6181e1118d8238d64a54"></a><!-- doxytag: member="pugi::xml_node::attribute_w" ref="690982cdfd2c6181e1118d8238d64a54" args="(const char *name) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> pugi::xml_node::attribute_w </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get attribute with the name that matches specified pattern.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- attribute name pattern </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>attribute with the name that matches pattern, if any; empty attribute otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="e76de35f11d46c9987d87262e9430b77"></a><!-- doxytag: member="pugi::xml_node::next_sibling" ref="e76de35f11d46c9987d87262e9430b77" args="(const char *name) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::next_sibling </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get first of following sibling nodes with the specified name.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- sibling name </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>node with the specified name, if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="3154a0d481e54bbde8f01edd1901698c"></a><!-- doxytag: member="pugi::xml_node::next_sibling_w" ref="3154a0d481e54bbde8f01edd1901698c" args="(const char *name) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::next_sibling_w </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get first of the following sibling nodes with the name that matches specified pattern.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- sibling name pattern </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>node with the name that matches pattern, if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="1d0d1e460eff5305e6bf50d9f65a58bc"></a><!-- doxytag: member="pugi::xml_node::next_sibling" ref="1d0d1e460eff5305e6bf50d9f65a58bc" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::next_sibling </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get following sibling.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>following sibling node, if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="d8b5f303fe2f9305318c2d500041f088"></a><!-- doxytag: member="pugi::xml_node::previous_sibling" ref="d8b5f303fe2f9305318c2d500041f088" args="(const char *name) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::previous_sibling </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get first of preceding sibling nodes with the specified name.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- sibling name </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>node with the specified name, if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="f98f6bc32514761133fc01eec3c77a09"></a><!-- doxytag: member="pugi::xml_node::previous_sibling_w" ref="f98f6bc32514761133fc01eec3c77a09" args="(const char *name) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::previous_sibling_w </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get first of the preceding sibling nodes with the name that matches specified pattern.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- sibling name pattern </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>node with the name that matches pattern, if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="919305f60b3ac08432867cbc94f6e3da"></a><!-- doxytag: member="pugi::xml_node::previous_sibling" ref="919305f60b3ac08432867cbc94f6e3da" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::previous_sibling </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get preceding sibling.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>preceding sibling node, if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="aa4c19abe199d4eacae18f832deb4d70"></a><!-- doxytag: member="pugi::xml_node::parent" ref="aa4c19abe199d4eacae18f832deb4d70" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::parent </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get parent node.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>parent node if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="f7d6cc0124c07dbb192e779c375a7c16"></a><!-- doxytag: member="pugi::xml_node::root" ref="f7d6cc0124c07dbb192e779c375a7c16" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::root </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get root of DOM tree this node belongs to.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>tree root </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="6726059659e4df0aaa9c2f9fd1053e98"></a><!-- doxytag: member="pugi::xml_node::child_value" ref="6726059659e4df0aaa9c2f9fd1053e98" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">const char* pugi::xml_node::child_value </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get child value of current node; that is, value of the first child node of type PCDATA/CDATA.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>child value of current node, if any; "" otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="be85f5f7160c0b314691d4a45fb61151"></a><!-- doxytag: member="pugi::xml_node::child_value" ref="be85f5f7160c0b314691d4a45fb61151" args="(const char *name) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">const char* pugi::xml_node::child_value </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get child value of child with specified name.
<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classpugi_1_1xml__node.html#6726059659e4df0aaa9c2f9fd1053e98">child_value</a> node.child_value(name) is equivalent to node.child(name).<a class="el" href="classpugi_1_1xml__node.html#6726059659e4df0aaa9c2f9fd1053e98">child_value()</a></dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- child name </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>child value of specified child node, if any; "" otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="441dfaf2aa8435154674cae81e5fb77c"></a><!-- doxytag: member="pugi::xml_node::child_value_w" ref="441dfaf2aa8435154674cae81e5fb77c" args="(const char *name) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">const char* pugi::xml_node::child_value_w </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get child value of child with name that matches the specified pattern.
<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classpugi_1_1xml__node.html#6726059659e4df0aaa9c2f9fd1053e98">child_value</a> node.child_value_w(name) is equivalent to node.child_w(name).<a class="el" href="classpugi_1_1xml__node.html#6726059659e4df0aaa9c2f9fd1053e98">child_value()</a></dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- child name pattern </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>child value of specified child node, if any; "" otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="f81bf55a3f7b9d40ee8807ac1be93a86"></a><!-- doxytag: member="pugi::xml_node::set_name" ref="f81bf55a3f7b9d40ee8807ac1be93a86" args="(const char *rhs)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">bool pugi::xml_node::set_name </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>rhs</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Set node name to <em>rhs</em> (for PI/element nodes).
<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classpugi_1_1xml__node.html#1f0c8b4652edc55e4f46ced685ae60f4">name</a></dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>rhs</em>&nbsp;</td><td>- new node name </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>success flag (call fails if node is of the wrong type or there is not enough memory) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="afa7b8f3ffa652e5e279f79e04d22d4c"></a><!-- doxytag: member="pugi::xml_node::set_value" ref="afa7b8f3ffa652e5e279f79e04d22d4c" args="(const char *rhs)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">bool pugi::xml_node::set_value </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>rhs</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Set node value to <em>rhs</em> (for PI/PCDATA/CDATA/comment nodes).
<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classpugi_1_1xml__node.html#0f28b7a44f40d1ac58fdc8202e04805e">value</a></dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>rhs</em>&nbsp;</td><td>- new node value </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>success flag (call fails if node is of the wrong type or there is not enough memory) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="645c4d7283f755a7b25839667a5fd9c7"></a><!-- doxytag: member="pugi::xml_node::append_attribute" ref="645c4d7283f755a7b25839667a5fd9c7" args="(const char *name)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> pugi::xml_node::append_attribute </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Add attribute with specified name (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- attribute name </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>added attribute, or empty attribute if there was an error (wrong node type) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="395ce9c52840edead28b50a7a69565ab"></a><!-- doxytag: member="pugi::xml_node::insert_attribute_after" ref="395ce9c52840edead28b50a7a69565ab" args="(const char *name, const xml_attribute &amp;attr)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> pugi::xml_node::insert_attribute_after </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap> <em>name</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>attr</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Insert attribute with specified name after <em>attr</em> (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- attribute name </td></tr>
<tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</td><td>- attribute to insert a new one after </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>inserted attribute, or empty attribute if there was an error (wrong node type, or attr does not belong to node) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="36cfed4439fba1f140d89e351c2bb552"></a><!-- doxytag: member="pugi::xml_node::insert_attribute_before" ref="36cfed4439fba1f140d89e351c2bb552" args="(const char *name, const xml_attribute &amp;attr)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> pugi::xml_node::insert_attribute_before </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap> <em>name</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>attr</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Insert attribute with specified name before <em>attr</em> (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- attribute name </td></tr>
<tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</td><td>- attribute to insert a new one before </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>inserted attribute, or empty attribute if there was an error (wrong node type, or attr does not belong to node) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="b480b6e6080d4dd83ebb46e5d10e706b"></a><!-- doxytag: member="pugi::xml_node::append_copy" ref="b480b6e6080d4dd83ebb46e5d10e706b" args="(const xml_attribute &amp;proto)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> pugi::xml_node::append_copy </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>proto</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Add a copy of the specified attribute (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>proto</em>&nbsp;</td><td>- attribute prototype which is to be copied </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>inserted attribute, or empty attribute if there was an error (wrong node type) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="406c755ac801843febcf905228d7d0a9"></a><!-- doxytag: member="pugi::xml_node::insert_copy_after" ref="406c755ac801843febcf905228d7d0a9" args="(const xml_attribute &amp;proto, const xml_attribute &amp;attr)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> pugi::xml_node::insert_copy_after </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>proto</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>attr</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Insert a copy of the specified attribute after <em>attr</em> (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>proto</em>&nbsp;</td><td>- attribute prototype which is to be copied </td></tr>
<tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</td><td>- attribute to insert a new one after </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>inserted attribute, or empty attribute if there was an error (wrong node type, or attr does not belong to node) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="998d3fe85ce36aa1de55cb7403cc0dd7"></a><!-- doxytag: member="pugi::xml_node::insert_copy_before" ref="998d3fe85ce36aa1de55cb7403cc0dd7" args="(const xml_attribute &amp;proto, const xml_attribute &amp;attr)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> pugi::xml_node::insert_copy_before </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>proto</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>attr</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Insert a copy of the specified attribute before <em>attr</em> (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>proto</em>&nbsp;</td><td>- attribute prototype which is to be copied </td></tr>
<tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</td><td>- attribute to insert a new one before </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>inserted attribute, or empty attribute if there was an error (wrong node type, or attr does not belong to node) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="498e41f14a04014eaf5d6af3ae8f9d99"></a><!-- doxytag: member="pugi::xml_node::append_child" ref="498e41f14a04014eaf5d6af3ae8f9d99" args="(xml_node_type type=node_element)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::append_child </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="namespacepugi.html#137e94a038e4ab0ada6477cf7f6153a9">xml_node_type</a>&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>type</em> = <code>node_element</code> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Add child node with specified type (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>- node type </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>added node, or empty node if there was an error (wrong node type) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="fb2c70e3908e65b001dcd9bcf794d605"></a><!-- doxytag: member="pugi::xml_node::insert_child_after" ref="fb2c70e3908e65b001dcd9bcf794d605" args="(xml_node_type type, const xml_node &amp;node)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::insert_child_after </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="namespacepugi.html#137e94a038e4ab0ada6477cf7f6153a9">xml_node_type</a>&nbsp;</td>
<td class="mdname" nowrap> <em>type</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>node</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Insert child node with specified type after <em>node</em> (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>- node type </td></tr>
<tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>- node to insert a new one after </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>inserted node, or empty node if there was an error (wrong node type, or <em>node</em> is not a child of this node) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="a07c23d9835e8174fbe75f0c9a0c7d7b"></a><!-- doxytag: member="pugi::xml_node::insert_child_before" ref="a07c23d9835e8174fbe75f0c9a0c7d7b" args="(xml_node_type type, const xml_node &amp;node)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::insert_child_before </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="namespacepugi.html#137e94a038e4ab0ada6477cf7f6153a9">xml_node_type</a>&nbsp;</td>
<td class="mdname" nowrap> <em>type</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>node</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Insert child node with specified type before <em>node</em> (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>- node type </td></tr>
<tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>- node to insert a new one before </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>inserted node, or empty node if there was an error (wrong node type, or <em>node</em> is not a child of this node) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="56796f244b13436de2f33da3e8c182f8"></a><!-- doxytag: member="pugi::xml_node::append_copy" ref="56796f244b13436de2f33da3e8c182f8" args="(const xml_node &amp;proto)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::append_copy </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>proto</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Add a copy of the specified node as a child (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>proto</em>&nbsp;</td><td>- node prototype which is to be copied </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>inserted node, or empty node if there was an error (wrong node type) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="0789c30be732fc91069ac6a18dec4d92"></a><!-- doxytag: member="pugi::xml_node::insert_copy_after" ref="0789c30be732fc91069ac6a18dec4d92" args="(const xml_node &amp;proto, const xml_node &amp;node)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::insert_copy_after </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>proto</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>node</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Insert a copy of the specified node after <em>node</em> (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>proto</em>&nbsp;</td><td>- node prototype which is to be copied </td></tr>
<tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>- node to insert a new one after </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>inserted node, or empty node if there was an error (wrong node type, or <em>node</em> is not a child of this node) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="86369d34a6d625e1859752de89c2bf30"></a><!-- doxytag: member="pugi::xml_node::insert_copy_before" ref="86369d34a6d625e1859752de89c2bf30" args="(const xml_node &amp;proto, const xml_node &amp;node)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::insert_copy_before </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>proto</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>node</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Insert a copy of the specified node before <em>node</em> (for element nodes).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>proto</em>&nbsp;</td><td>- node prototype which is to be copied </td></tr>
<tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>- node to insert a new one before </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>inserted node, or empty node if there was an error (wrong node type, or <em>node</em> is not a child of this node) </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="af26856382cbd75434e7ac3ac255c2a7"></a><!-- doxytag: member="pugi::xml_node::remove_attribute" ref="af26856382cbd75434e7ac3ac255c2a7" args="(const xml_attribute &amp;a)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">void pugi::xml_node::remove_attribute </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>a</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Remove specified attribute.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>- attribute to be removed </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="177097ca7770e8d80350d15cc96a3dd9"></a><!-- doxytag: member="pugi::xml_node::remove_attribute" ref="177097ca7770e8d80350d15cc96a3dd9" args="(const char *name)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">void pugi::xml_node::remove_attribute </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Remove attribute with the specified name, if any.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- attribute name </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="f44301eb411be0e0787c49d292c93fb5"></a><!-- doxytag: member="pugi::xml_node::remove_child" ref="f44301eb411be0e0787c49d292c93fb5" args="(const xml_node &amp;n)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">void pugi::xml_node::remove_child </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>n</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Remove specified child.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>- child node to be removed </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="023157bd57e3696c9f49f23944ac909f"></a><!-- doxytag: member="pugi::xml_node::remove_child" ref="023157bd57e3696c9f49f23944ac909f" args="(const char *name)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">void pugi::xml_node::remove_child </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>name</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Remove child with the specified name, if any.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- child name </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="aae0bdb0c69fb895f66b239720d5d2d0"></a><!-- doxytag: member="pugi::xml_node::first_attribute" ref="aae0bdb0c69fb895f66b239720d5d2d0" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> pugi::xml_node::first_attribute </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get first attribute.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>first attribute, if any; empty attribute otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="3e93125923e0b195de4369d50776ecc6"></a><!-- doxytag: member="pugi::xml_node::last_attribute" ref="3e93125923e0b195de4369d50776ecc6" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> pugi::xml_node::last_attribute </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get last attribute.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>last attribute, if any; empty attribute otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="21a123c51fa592b6f2ceb2e22411edd9"></a><!-- doxytag: member="pugi::xml_node::all_elements_by_name" ref="21a123c51fa592b6f2ceb2e22411edd9" args="(const char *name, OutputIterator it) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="mdPrefix" colspan="4">
template&lt;typename OutputIterator&gt; </td>
</tr>
<tr>
<td class="md" nowrap valign="top">void pugi::xml_node::all_elements_by_name </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap> <em>name</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>OutputIterator&nbsp;</td>
<td class="mdname" nowrap> <em>it</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get all elements from subtree with given name.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- node name </td></tr>
<tr><td valign="top"></td><td valign="top"><em>it</em>&nbsp;</td><td>- output iterator (for example, std::back_insert_iterator (result of std::back_inserter)) </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="90347629066ca2eedeaee4d5d4038fe7"></a><!-- doxytag: member="pugi::xml_node::all_elements_by_name_w" ref="90347629066ca2eedeaee4d5d4038fe7" args="(const char *name, OutputIterator it) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="mdPrefix" colspan="4">
template&lt;typename OutputIterator&gt; </td>
</tr>
<tr>
<td class="md" nowrap valign="top">void pugi::xml_node::all_elements_by_name_w </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap> <em>name</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>OutputIterator&nbsp;</td>
<td class="mdname" nowrap> <em>it</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get all elements from subtree with name that matches given pattern.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- node name pattern </td></tr>
<tr><td valign="top"></td><td valign="top"><em>it</em>&nbsp;</td><td>- output iterator (for example, std::back_insert_iterator (result of std::back_inserter)) </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="da6e0ce4318d7f72f8b037e39433b298"></a><!-- doxytag: member="pugi::xml_node::first_child" ref="da6e0ce4318d7f72f8b037e39433b298" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::first_child </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get first child.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>first child, if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="b92290e7dbc9292e4ff5d6949bd02e01"></a><!-- doxytag: member="pugi::xml_node::last_child" ref="b92290e7dbc9292e4ff5d6949bd02e01" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::last_child </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get last child.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>last child, if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="6b921b19dbf2c792daaf46544df44fb6"></a><!-- doxytag: member="pugi::xml_node::find_attribute" ref="6b921b19dbf2c792daaf46544df44fb6" args="(Predicate pred) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="mdPrefix" colspan="4">
template&lt;typename Predicate&gt; </td>
</tr>
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> pugi::xml_node::find_attribute </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">Predicate&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>pred</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Find attribute using predicate.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>pred</em>&nbsp;</td><td>- predicate, that takes <a class="el" href="classpugi_1_1xml__attribute.html">xml_attribute</a> and returns bool </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>first attribute for which predicate returned true, or empty attribute </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="132ca635cc0ab99180be0ffcc156a616"></a><!-- doxytag: member="pugi::xml_node::find_child" ref="132ca635cc0ab99180be0ffcc156a616" args="(Predicate pred) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="mdPrefix" colspan="4">
template&lt;typename Predicate&gt; </td>
</tr>
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::find_child </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">Predicate&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>pred</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Find child node using predicate.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>pred</em>&nbsp;</td><td>- predicate, that takes <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> and returns bool </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>first child node for which predicate returned true, or empty node </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="f3a5796f1c99df52244f3c73f5c03d8e"></a><!-- doxytag: member="pugi::xml_node::find_node" ref="f3a5796f1c99df52244f3c73f5c03d8e" args="(Predicate pred) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="mdPrefix" colspan="4">
template&lt;typename Predicate&gt; </td>
</tr>
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::find_node </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">Predicate&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>pred</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Find node from subtree using predicate.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>pred</em>&nbsp;</td><td>- predicate, that takes <a class="el" href="classpugi_1_1xml__node.html">xml_node</a> and returns bool </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>first node from subtree for which predicate returned true, or empty node </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="4e7de1cba4e7e948bcef4c086c513dd2"></a><!-- doxytag: member="pugi::xml_node::find_child_by_attribute" ref="4e7de1cba4e7e948bcef4c086c513dd2" args="(const char *name, const char *attr_name, const char *attr_value) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::find_child_by_attribute </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap> <em>name</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap> <em>attr_name</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap> <em>attr_value</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Find child node with the specified name that has specified attribute.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- child node name </td></tr>
<tr><td valign="top"></td><td valign="top"><em>attr_name</em>&nbsp;</td><td>- attribute name of child node </td></tr>
<tr><td valign="top"></td><td valign="top"><em>attr_value</em>&nbsp;</td><td>- attribute value of child node </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>first matching child node, or empty node </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="d1e3d1739dd57475857ddfa2b0f48f17"></a><!-- doxytag: member="pugi::xml_node::find_child_by_attribute_w" ref="d1e3d1739dd57475857ddfa2b0f48f17" args="(const char *name, const char *attr_name, const char *attr_value) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::find_child_by_attribute_w </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap> <em>name</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap> <em>attr_name</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap> <em>attr_value</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Find child node with the specified name that has specified attribute (use pattern matching for node name and attribute name/value).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- pattern for child node name </td></tr>
<tr><td valign="top"></td><td valign="top"><em>attr_name</em>&nbsp;</td><td>- pattern for attribute name of child node </td></tr>
<tr><td valign="top"></td><td valign="top"><em>attr_value</em>&nbsp;</td><td>- pattern for attribute value of child node </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>first matching child node, or empty node </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="662edbf3a53be9c678e0dfdd129e606e"></a><!-- doxytag: member="pugi::xml_node::find_child_by_attribute" ref="662edbf3a53be9c678e0dfdd129e606e" args="(const char *attr_name, const char *attr_value) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::find_child_by_attribute </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap> <em>attr_name</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap> <em>attr_value</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Find child node that has specified attribute.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>attr_name</em>&nbsp;</td><td>- attribute name of child node </td></tr>
<tr><td valign="top"></td><td valign="top"><em>attr_value</em>&nbsp;</td><td>- attribute value of child node </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>first matching child node, or empty node </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="7a8e4b34d973b9614af621fd58d6ee05"></a><!-- doxytag: member="pugi::xml_node::find_child_by_attribute_w" ref="7a8e4b34d973b9614af621fd58d6ee05" args="(const char *attr_name, const char *attr_value) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::find_child_by_attribute_w </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap> <em>attr_name</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap> <em>attr_value</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Find child node that has specified attribute (use pattern matching for attribute name/value).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>attr_name</em>&nbsp;</td><td>- pattern for attribute name of child node </td></tr>
<tr><td valign="top"></td><td valign="top"><em>attr_value</em>&nbsp;</td><td>- pattern for attribute value of child node </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>first matching child node, or empty node </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="9d5ed8a5d73d252e5786f034d277d504"></a><!-- doxytag: member="pugi::xml_node::path" ref="9d5ed8a5d73d252e5786f034d277d504" args="(char delimiter= '/') const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">std::string pugi::xml_node::path </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>delimiter</em> = <code>'/'</code> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get the absolute node path from root as a text string.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>delimiter</em>&nbsp;</td><td>- delimiter character to insert between element names </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>path string (e.g. '/bookstore/book/author'). </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="4be3a6da6307a33954fbdc5f210de209"></a><!-- doxytag: member="pugi::xml_node::first_element_by_path" ref="4be3a6da6307a33954fbdc5f210de209" args="(const char *path, char delimiter= '/') const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__node.html">xml_node</a> pugi::xml_node::first_element_by_path </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname" nowrap> <em>path</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>char&nbsp;</td>
<td class="mdname" nowrap> <em>delimiter</em> = <code>'/'</code></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Search for a node by path.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>- path string; e.g. './foo/bar' (relative to node), '/foo/bar' (relative to root), '../foo/bar'. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>delimiter</em>&nbsp;</td><td>- delimiter character to use while tokenizing path </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>matching node, if any; empty node otherwise </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="41be22248598bdf1575ed8d7bdd77807"></a><!-- doxytag: member="pugi::xml_node::traverse" ref="41be22248598bdf1575ed8d7bdd77807" args="(xml_tree_walker &amp;walker)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">bool pugi::xml_node::traverse </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__tree__walker.html">xml_tree_walker</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>walker</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Recursively traverse subtree with <a class="el" href="classpugi_1_1xml__tree__walker.html">xml_tree_walker</a>.
<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classpugi_1_1xml__tree__walker.html#118c8c5a323745053ae52dc0e1276a9b">xml_tree_walker::begin</a> <p>
<a class="el" href="classpugi_1_1xml__tree__walker.html#caf3a12a8cfdd55ef421ad045dfef764">xml_tree_walker::for_each</a> <p>
<a class="el" href="classpugi_1_1xml__tree__walker.html#19c4f587afbd022959d81c6bf129a8fd">xml_tree_walker::end</a></dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>walker</em>&nbsp;</td><td>- tree walker to traverse subtree with </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>traversal result </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="51e5d0926657898bd555bf9560805230"></a><!-- doxytag: member="pugi::xml_node::select_single_node" ref="51e5d0926657898bd555bf9560805230" args="(const char *query) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xpath__node.html">xpath_node</a> pugi::xml_node::select_single_node </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>query</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Select single node by evaluating XPath query.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>- query string </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>first node from the resulting node set by document order, or empty node if none found </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="30e004e4939797a84da7916ea950ec33"></a><!-- doxytag: member="pugi::xml_node::select_single_node" ref="30e004e4939797a84da7916ea950ec33" args="(xpath_query &amp;query) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xpath__node.html">xpath_node</a> pugi::xml_node::select_single_node </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xpath__query.html">xpath_query</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>query</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Select single node by evaluating XPath query.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>- compiled query </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>first node from the resulting node set by document order, or empty node if none found </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="6f73abaa40adb72a826095cf107e9624"></a><!-- doxytag: member="pugi::xml_node::select_nodes" ref="6f73abaa40adb72a826095cf107e9624" args="(const char *query) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xpath__node__set.html">xpath_node_set</a> pugi::xml_node::select_nodes </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const char *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>query</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Select node set by evaluating XPath query.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>- query string </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>resulting node set </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="041475ecea08aeab971707daefe0c3c7"></a><!-- doxytag: member="pugi::xml_node::select_nodes" ref="041475ecea08aeab971707daefe0c3c7" args="(xpath_query &amp;query) const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xpath__node__set.html">xpath_node_set</a> pugi::xml_node::select_nodes </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xpath__query.html">xpath_query</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>query</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Select node set by evaluating XPath query.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>- compiled query </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>resulting node set </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="89036df09e55056e88b93c4b517f9a5d"></a><!-- doxytag: member="pugi::xml_node::print" ref="89036df09e55056e88b93c4b517f9a5d" args="(xml_writer &amp;writer, const char *indent=&quot;\t&quot;, unsigned int flags=format_default, unsigned int depth=0)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">void pugi::xml_node::print </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classpugi_1_1xml__writer.html">xml_writer</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>writer</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap> <em>indent</em> = <code>&quot;\t&quot;</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>unsigned int&nbsp;</td>
<td class="mdname" nowrap> <em>flags</em> = <code><a class="el" href="namespacepugi.html#325f48a35abbaeacdfd8b7fc9ed1713c">format_default</a></code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>unsigned int&nbsp;</td>
<td class="mdname" nowrap> <em>depth</em> = <code>0</code></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Print subtree to writer.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>writer</em>&nbsp;</td><td>- writer object </td></tr>
<tr><td valign="top"></td><td valign="top"><em>indent</em>&nbsp;</td><td>- indentation string </td></tr>
<tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>- formatting flags </td></tr>
<tr><td valign="top"></td><td valign="top"><em>depth</em>&nbsp;</td><td>- starting depth (used for indentation) </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="8a0a9d086cc2e5c1f92cb79452695949"></a><!-- doxytag: member="pugi::xml_node::print" ref="8a0a9d086cc2e5c1f92cb79452695949" args="(std::ostream &amp;os, const char *indent=&quot;\t&quot;, unsigned int flags=format_default, unsigned int depth=0)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">void pugi::xml_node::print </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">std::ostream &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>os</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap> <em>indent</em> = <code>&quot;\t&quot;</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>unsigned int&nbsp;</td>
<td class="mdname" nowrap> <em>flags</em> = <code><a class="el" href="namespacepugi.html#325f48a35abbaeacdfd8b7fc9ed1713c">format_default</a></code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>unsigned int&nbsp;</td>
<td class="mdname" nowrap> <em>depth</em> = <code>0</code></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Print subtree to stream.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>os</em>&nbsp;</td><td>- output stream </td></tr>
<tr><td valign="top"></td><td valign="top"><em>indent</em>&nbsp;</td><td>- indentation string </td></tr>
<tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>- formatting flags </td></tr>
<tr><td valign="top"></td><td valign="top"><em>depth</em>&nbsp;</td><td>- starting depth (used for indentation) </td></tr>
</table>
</dl>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Use <a class="el" href="classpugi_1_1xml__node.html#89036df09e55056e88b93c4b517f9a5d">print()</a> with <a class="el" href="classpugi_1_1xml__writer__stream.html">xml_writer_stream</a> instead </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="c5f384ec06339e0f5d69ee39766d20a9"></a><!-- doxytag: member="pugi::xml_node::offset_debug" ref="c5f384ec06339e0f5d69ee39766d20a9" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">int pugi::xml_node::offset_debug </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get node offset in parsed file/string (in bytes) for debugging purposes.
<p>
<dl compact><dt><b>Returns:</b></dt><dd>offset in bytes to start of node data, or -1 in case of error </dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>This will return -1 if node information changed to the extent that it's no longer possible to calculate offset, for example if element node name has significantly changed; this is guaranteed to return correct offset only for nodes that have not changed since parsing. </dd></dl>
</td>
</tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Thu Sep 17 22:15:56 2009 for pugixml by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6-NO </small></address>
</body>
</html>