mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 04:31:35 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
		
			909 B
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			909 B
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| (**
 | |
|  * 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.
 | 
