(** * section: InputOutput * synopsis: Output to char buffer * purpose: Demonstrate the use of xmlDocDumpMemory * to output document to a character buffer * usage: io2 * test: io2 > io2.tmp ; diff io2.tmp io2.res ; rm -f io2.tmp * author: John Fleck * copy: see Copyright for the status of this software. *) program io2; {$mode objfpc} uses ctypes, xml2, exutils, SysUtils; var n: xmlNodePtr; doc: xmlDocPtr; xmlbuff: xmlCharPtr; buffersize: cint; begin (* * Create the document. *) doc := xmlNewDoc('1.0'); n := xmlNewNode(nil, 'root'); xmlNodeSetContent(n, 'content'); xmlDocSetRootElement(doc, n); (* * Dump the document to a buffer and print it * for demonstration purposes. *) xmlDocDumpFormatMemory(doc, xmlbuff, buffersize, 1); printfn(xmlbuff); (* * Free associated memory. *) xmlFree(xmlbuff); xmlFreeDoc(doc); end.