Linux环境下配置libxml2的方法,网络上有很多,这里就不赘述了。
这里简单的记录下XML文档的生成与解析。
生成一个三级XML文档:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
int main()
{
//定义文档指针
xmlDocPtr pdoc = NULL;
//定义节点指针
xmlNodePtr node_root = NULL;
xmlNodePtr node_father = NULL;
xmlNodePtr node_son = NULL;
//创建新的XML文档
pdoc = xmlNewDoc(BAD_CAST "1.0");
//创建节点元素
node_root = xmlNewNode(NULL,BAD_CAST "root");
node_father = xmlNewNode(NULL,BAD_CAST "father");
node_son = xmlNewNode(NULL,BAD_CAST "son");
//设置文档根节点
xmlDocSetRootElement(pdoc,node_root);
//添加子节点
xmlAddChild(node_root,node_father);
xmlAddChild(node_father,node_son);
//设置节点属性
xmlNewProp(node_father,BAD_CAST "name",BAD_CAST "Father");
xmlNewProp(node_son,BAD_CAST "name",BAD_CAST "Son");
//存储文档
xmlSaveFormatFileEnc("xml_test.xml",pdoc,"UTF-8",1);
//释放文档指针
xmlFreeDoc(pdoc);