|  | 
          1楼
          巨大八爪鱼
          2016-2-20 10:34
          
          
            Makefile:# 连接
 test: test.o
 gcc test.o -o test -lxml2
 
 # 编译
 test.o: test.c
 gcc -c test.c -I/usr/include/libxml2
 
 | 
    
      |  | 
          2楼
          巨大八爪鱼
          2016-2-20 10:34
          
          
            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;
 }
 
 | 
    
      |  | 
          3楼
          巨大八爪鱼
          2016-2-20 10:35
          
          
            使用xml2-config --cflags命令可以查看编译选项使用xml2-config --libs命令可以查看连接选项
 
 | 
    
      |  | 
          4楼
          巨大八爪鱼
          2016-2-20 12:31
          
          
            #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;
 }
 |