1 <html><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=ISO-8859-1"><title>E. Code for Add 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=
"apd.html" title=
"D. Code for XPath Example"><link rel=
"next" href=
"apf.html" title=
"F. Code for Add Attribute 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">E. Code for Add Keyword Example
</th></tr><tr><td width=
"20%" align=
"left"><a accesskey=
"p" href=
"apd.html">Prev
</a> </td><th width=
"60%" align=
"center"> </th><td width=
"20%" align=
"right"> <a accesskey=
"n" href=
"apf.html">Next
</a></td></tr></table><hr></div><div class=
"appendix" lang=
"en"><div class=
"titlepage"><div><div><h2 class=
"title"><a name=
"addkeywordappendix"></a>E. Code for Add Keyword Example
</h2></div></div><div></div></div><p>
2 </p><pre class=
"programlisting">
3 #include
<stdio.h
>
4 #include
<string.h
>
5 #include
<stdlib.h
>
6 #include
<libxml/xmlmemory.h
>
7 #include
<libxml/parser.h
>
10 parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {
12 xmlNewTextChild (cur, NULL,
"keyword", keyword);
17 parseDoc(char *docname, char *keyword) {
22 doc = xmlParseFile(docname);
25 fprintf(stderr,
"Document not parsed successfully. \n");
29 cur = xmlDocGetRootElement(doc);
32 fprintf(stderr,
"empty document\n");
37 if (xmlStrcmp(cur-
>name, (const xmlChar *)
"story")) {
38 fprintf(stderr,
"document of the wrong type, root node != story");
43 cur = cur-
>xmlChildrenNode;
45 if ((!xmlStrcmp(cur-
>name, (const xmlChar *)
"storyinfo"))){
46 parseStory (doc, cur, keyword);
55 main(int argc, char **argv) {
62 printf(
"Usage: %s docname, keyword\n", argv[
0]);
68 doc = parseDoc (docname, keyword);
70 xmlSaveFormatFile (docname, doc,
0);
78 </p></div><div class=
"navfooter"><hr><table width=
"100%" summary=
"Navigation footer"><tr><td width=
"40%" align=
"left"><a accesskey=
"p" href=
"apd.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=
"apf.html">Next
</a></td></tr><tr><td width=
"40%" align=
"left" valign=
"top">D. Code for XPath Example
</td><td width=
"20%" align=
"center"><a accesskey=
"h" href=
"index.html">Home
</a></td><td width=
"40%" align=
"right" valign=
"top"> F. Code for Add Attribute Example
</td></tr></table></div></body></html>