| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #include <stdio.h> |
| #include <libxml/parser.h> |
| #include <libxml/tree.h> |
|
|
| #if defined(LIBXML_OUTPUT_ENABLED) |
|
|
| |
| |
| |
| |
|
|
| |
| |
| |
| int |
| main(int argc, char **argv) |
| { |
| xmlDocPtr doc = NULL; |
| xmlNodePtr root_node = NULL, node = NULL, node1 = NULL; |
| char buff[256]; |
| int i, j; |
|
|
| LIBXML_TEST_VERSION; |
|
|
| |
| |
| |
| doc = xmlNewDoc(BAD_CAST "1.0"); |
| root_node = xmlNewDocNode(doc, NULL, BAD_CAST "root", NULL); |
| xmlDocSetRootElement(doc, root_node); |
|
|
| |
| |
| |
| xmlCreateIntSubset(doc, BAD_CAST "root", NULL, BAD_CAST "tree2.dtd"); |
|
|
| |
| |
| |
| |
| xmlNewChild(root_node, NULL, BAD_CAST "node1", |
| BAD_CAST "content of node 1"); |
| |
| |
| |
| xmlNewChild(root_node, NULL, BAD_CAST "node2", NULL); |
|
|
| |
| |
| |
| |
| node = |
| xmlNewChild(root_node, NULL, BAD_CAST "node3", |
| BAD_CAST "this node has attributes"); |
| xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes"); |
| xmlNewProp(node, BAD_CAST "foo", BAD_CAST "bar"); |
|
|
| |
| |
| |
| |
| |
| node = xmlNewDocNode(doc, NULL, BAD_CAST "node4", NULL); |
| node1 = xmlNewDocText(doc, BAD_CAST |
| "other way to create content (which is also a node)"); |
| xmlAddChild(node, node1); |
| xmlAddChild(root_node, node); |
|
|
| |
| |
| |
| for (i = 5; i < 7; i++) { |
| snprintf(buff, sizeof(buff), "node%d", i); |
| node = xmlNewChild(root_node, NULL, BAD_CAST buff, NULL); |
| for (j = 1; j < 4; j++) { |
| snprintf(buff, sizeof(buff), "node%d%d", i, j); |
| node1 = xmlNewChild(node, NULL, BAD_CAST buff, NULL); |
| xmlNewProp(node1, BAD_CAST "odd", BAD_CAST((j % 2) ? "no" : "yes")); |
| } |
| } |
|
|
| |
| |
| |
| xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", doc, "UTF-8", 1); |
|
|
| |
| xmlFreeDoc(doc); |
|
|
| return(0); |
| } |
| #else |
| int main(void) { |
| fprintf(stderr, "output support not compiled in\n"); |
| return(0); |
| } |
| #endif |
|
|