/usr/share/doc/libxml2-devel/tutorial
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Retrieving Attributes</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s07.html" title="Writing Attribute"><link rel="next" href="ar01s09.html" title="Encoding Conversion"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Retrieving Attributes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s07.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s09.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialattribute"></a>Retrieving Attributes</h2></div></div><div></div></div><p><a class="indexterm" name="id2587236"></a> Retrieving the value of an attribute is similar to the previous example in which we retrieved a node's text contents. In this case we'll extract the value of the <span class="acronym">URI</span> we added in the previous section. Full code: <a href="apg.html" title="G.�Code for Retrieving Attribute Value Example">Appendix�G, <i>Code for Retrieving Attribute Value Example</i></a>.</p><p> The initial steps for this example are similar to the previous ones: parse the doc, find the element you are interested in, then enter a function to carry out the specific task required. In this case, we call <tt class="function">getReference</tt>: </p><pre class="programlisting"> void getReference (xmlDocPtr doc, xmlNodePtr cur) { xmlChar *uri; cur = cur->xmlChildrenNode; while (cur != NULL) { if ((!xmlStrcmp(cur->name, (const xmlChar *)"reference"))) { <a name="getattributevalue"></a><img src="images/callouts/1.png" alt="1" border="0"> uri = xmlGetProp(cur, "uri"); printf("uri: %s\n", uri); xmlFree(uri); } cur = cur->next; } return; } </pre><p> </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#getattributevalue"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p> The key function is <tt class="function"><a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLGETPROP" target="_top">xmlGetProp</a></tt>, which returns an <tt class="varname">xmlChar</tt> containing the attribute's value. In this case, we just print it out. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p> If you are using a <span class="acronym">DTD</span> that declares a fixed or default value for the attribute, this function will retrieve it. </p></td></tr></table></div><p> </p></td></tr></table></div><p> </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s07.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s09.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Writing Attribute�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Encoding Conversion</td></tr></table></div></body></html>
.
Edit
..
Edit
apa.html
Edit
apb.html
Edit
apc.html
Edit
apd.html
Edit
ape.html
Edit
apf.html
Edit
apg.html
Edit
aph.html
Edit
api.html
Edit
ar01s02.html
Edit
ar01s03.html
Edit
ar01s04.html
Edit
ar01s05.html
Edit
ar01s06.html
Edit
ar01s07.html
Edit
ar01s08.html
Edit
ar01s09.html
Edit
images
Edit
includeaddattribute.c
Edit
includeaddkeyword.c
Edit
includeconvert.c
Edit
includegetattribute.c
Edit
includekeyword.c
Edit
includexpath.c
Edit
index.html
Edit
ix01.html
Edit