1 <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>
2 Retrieving the value of an attribute is similar to the previous
3 example in which we retrieved a node's text contents. In this case we'll
4 extract the value of the
<span class=
"acronym">URI
</span> we added in the previous
5 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>
6 The initial steps for this example are similar to the previous ones: parse
7 the doc, find the element you are interested in, then enter a function to
8 carry out the specific task required. In this case, we call
9 <tt class=
"function">getReference
</tt>:
10 </p><pre class=
"programlisting">
12 getReference (xmlDocPtr doc, xmlNodePtr cur) {
15 cur = cur-
>xmlChildrenNode;
17 if ((!xmlStrcmp(cur-
>name, (const xmlChar *)
"reference"))) {
18 <a name=
"getattributevalue"></a><img src=
"images/callouts/1.png" alt=
"1" border=
"0"> uri = xmlGetProp(cur,
"uri");
19 printf(
"uri: %s\n", uri);
28 </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>
29 The key function is
<tt class=
"function"><a href=
"http://xmlsoft.org/html/libxml-tree.html#XMLGETPROP" target=
"_top">xmlGetProp
</a></tt>, which returns an
30 <tt class=
"varname">xmlChar
</tt> containing the attribute's value. In this case,
32 </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>
33 If you are using a
<span class=
"acronym">DTD
</span> that declares a fixed or
34 default value for the attribute, this function will retrieve it.
35 </p></td></tr></table></div><p>
36 </p></td></tr></table></div><p>
38 </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>