/* ------------------------------------------------------------------------- Test_xml_generator.c - A simple example of constructing arbitrary xml-file using re-usable xml-library. Create new XML file by using: xml_tree_init(); xml_tree_add_tag( xml_tree, tagname ); xml_tree_add_contents( xml_tree, contents ); xml_tree_add_attribute( xml_tree, name, value ); xml_tree_begin_children( xml_tree ); xml_tree_end_children( xml_tree ); xml_tree_cleanup( xml_tree ); Xml_Write_File( filename, xml_tree ); Compile: cc -g test_xml_generator.c -lm -o test_xml_generator.exe --------------------------------------------------------------------------- */ #include <stdio.h> #include "xml_parse_lib.c" int main( int argc, char **argv ) { int j=1; Xml_object *rootobj; struct xml_private_tree *xml_tree; xml_tree = xml_tree_init(); /* Initialize the tree. */ /* Now add some objects, attributes, etc... */ xml_tree_add_tag( xml_tree, "first_tag" ); xml_tree_add_attribute( xml_tree, "attrib1", "value1" ); xml_tree_add_attribute( xml_tree, "attrib2", "value2 <> &" ); xml_tree_add_contents( xml_tree, "Some contents 1 <> &" ); xml_tree_begin_children( xml_tree ); xml_tree_add_tag( xml_tree, "first_child" ); xml_tree_add_contents( xml_tree, "Some contents 11" ); xml_tree_add_tag( xml_tree, "second_child" ); xml_tree_add_contents( xml_tree, "Some contents 22" ); xml_tree_add_attribute( xml_tree, "attrib21", "value21" ); xml_tree_add_attribute( xml_tree, "attrib22", "value22" ); xml_tree_begin_children( xml_tree ); xml_tree_add_tag( xml_tree, "first_grand_child" ); xml_tree_add_contents( xml_tree, "Some contents 33" ); xml_tree_add_attribute( xml_tree, "attrib31", "value31" ); xml_tree_add_tag( xml_tree, "second_grand_child" ); xml_tree_add_contents( xml_tree, "Some contents 44" ); xml_tree_add_attribute( xml_tree, "attrib41", "value41" ); xml_tree_end_children( xml_tree ); xml_tree_end_children( xml_tree ); xml_tree_add_tag( xml_tree, "second_tag" ); xml_tree_add_contents( xml_tree, "Some contents 2" ); rootobj = xml_tree_cleanup( &xml_tree ); Xml_Write_File( "test_out.xml", rootobj ); printf("\nWrote 'test_out.xml'.\n"); return 0; }