Source Code File 07-08_buffer
07-08_buffer.c
#include <stdio.h>
#include <stdlib.h>
#include <libxml/parser.h>
int main()
{
const char filename[] = "sample.xml";
xmlDocPtr doc;
xmlNodePtr root,newnode;
const xmlChar *element = (const xmlChar *)"nemesis";
const xmlChar *value = (const xmlChar *)"Underdog";
xmlBufferPtr buffer;
doc = xmlParseFile(filename);
if( doc==NULL )
{
fprintf(stderr,"Unable to process %s\n",filename);
exit(1);
}
root = xmlDocGetRootElement(doc);
newnode = xmlNewTextChild( root, NULL, element, value );
buffer = xmlBufferCreate();
xmlNodeDump(buffer,doc,root,4,1);
printf("%s\n",buffer->content);
xmlFreeDoc(doc);
return(0);
}
Output
<?xml version="1.0" encoding="UTF-8"?>
<character>
<firstName>Simon</firstName>
<middleName>Bar</middleName>
<lastName>Sinister</lastName>
<address>
<street>123 Evil Ave.</street>
<city>Bigtown</city>
<state>New York</state>
<zip>12345</zip>
</address>
<isCartoon value="true"/>
<IQ>213.5</IQ>
<phone type="lab">212 555-1234</phone>
<phone type="mobile">868 555-1234</phone>
<assistant>Cad Lackey</assistant>
<nemesis>Underdog</nemesis></character>
Copyright © 1997-2025 by QPBC.
All rights reserved
