 |
Makefile: # 连接 test: test.o gcc test.o -o test -lxml2
# 编译 test.o: test.c gcc -c test.c -I/usr/include/libxml2
|
 |
C程序: #include <stdio.h> #include <libxml/parser.h> #include <libxml/tree.h>
int main(int argc, char **argv) { xmlDocPtr doc = NULL; xmlNodePtr root_node = NULL, node = NULL, node1 = NULL; doc = xmlNewDoc(BAD_CAST "1.0"); root_node = xmlNewNode(NULL, BAD_CAST "root"); xmlDocSetRootElement(doc, root_node); xmlNewChild(root_node, NULL, BAD_CAST "node1",BAD_CAST "content of node1"); node=xmlNewChild(root_node, NULL, BAD_CAST "node3",BAD_CAST"node has attributes"); xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes"); node = xmlNewNode(NULL, BAD_CAST "node4"); node1 = xmlNewText(BAD_CAST"other way to create content"); xmlAddChild(node, node1); xmlAddChild(root_node, node); xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", doc, "UTF-8", 1); xmlFreeDoc(doc); xmlCleanupParser(); xmlMemoryDump(); return 0; }
|
 |
使用xml2-config --cflags命令可以查看编译选项 使用xml2-config --libs命令可以查看连接选项
|
 |
#include <stdio.h> #include <libxml/parser.h> #include <libxml/tree.h>
int main(void) { xmlNodePtr root_node, node, node1; xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0"); root_node = xmlNewNode(NULL, BAD_CAST "data"); xmlDocSetRootElement(doc, root_node); xmlNewChild(root_node, NULL, BAD_CAST "name",BAD_CAST "Tony"); node = xmlNewChild(root_node, NULL, BAD_CAST "description", BAD_CAST "He is a boy."); xmlNewProp(node, BAD_CAST "age", BAD_CAST "15"); node = xmlNewNode(NULL, BAD_CAST "number"); node1 = xmlNewText(BAD_CAST "4452375"); xmlAddChild(node, node1); xmlAddChild(root_node, node); xmlSaveFormatFileEnc("file.xml", doc, "UTF-8", 1); xmlFreeDoc(doc); xmlCleanupParser(); xmlMemoryDump(); return 0; }
|