/usr/share/doc/libxml2-devel/tutorial
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>C.�Code for Keyword Example</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="apb.html" title="B.�Sample Document"><link rel="next" href="apd.html" title="D.�Code for XPath Example"></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">C.�Code for Keyword Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apb.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apd.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="keywordappendix"></a>C.�Code for Keyword Example</h2></div></div><div></div></div><p> </p><pre class="programlisting"> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <libxml/xmlmemory.h> #include <libxml/parser.h> void parseStory (xmlDocPtr doc, xmlNodePtr cur) { xmlChar *key; cur = cur->xmlChildrenNode; while (cur != NULL) { if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) { key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); printf("keyword: %s\n", key); xmlFree(key); } cur = cur->next; } return; } static void parseDoc(char *docname) { xmlDocPtr doc; xmlNodePtr cur; doc = xmlParseFile(docname); if (doc == NULL ) { fprintf(stderr,"Document not parsed successfully. \n"); return; } cur = xmlDocGetRootElement(doc); if (cur == NULL) { fprintf(stderr,"empty document\n"); xmlFreeDoc(doc); return; } if (xmlStrcmp(cur->name, (const xmlChar *) "story")) { fprintf(stderr,"document of the wrong type, root node != story"); xmlFreeDoc(doc); return; } cur = cur->xmlChildrenNode; while (cur != NULL) { if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){ parseStory (doc, cur); } cur = cur->next; } xmlFreeDoc(doc); return; } int main(int argc, char **argv) { char *docname; if (argc <= 1) { printf("Usage: %s docname\n", argv[0]); return(0); } docname = argv[1]; parseDoc (docname); return (1); } </pre><p> </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apb.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="apd.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">B.�Sample Document�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�D.�Code for XPath Example</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