大型的数据可以存储到数据库中,某些数据量很小或者配置文件可以存储到XML这种半结构化的文档中,XML将数据组织成为一棵树,DOM通过解析XML文档,为XML文档在逻辑上建立一个树模型,树的节点是一个个的对象。这样通过操作这棵树和这些对象就可以完成对XML文档的操作,为处理文档的所有方面提供了一个完美的概念性框架。xml 文档的操作其根本原理就是在节点之间移动、查询节点的各项信息,并进行增加、删除、修改的操作。 xmlDocSetRootElement 函数可以将一个节点设置为某个文档的根节点,这是将文档与节点连接起来的重要手段,当有了根结点以后,所有子节点就可以依次连接上根节点,从而组织成为一个 xml 树。
libxml 是针对 C 语言的一套 操作XML文档的API 接口。创建XML文档的步骤为:
1)用 xmlNewDoc 函数创建一个文档指针 doc;2)用 xmlNewNode 函数创建一个节点指针 root_node;
3)用 xmlDocSetRootElement 将 root_node 设置为 doc 的根节点;
4)给 root_node 添加一系列子节点,并设置字节点的内容和属性;
5)用 xmlSaveFile 保存 xml 到文件;
6)用 xmlFreeDoc 函数关闭文档指针,清除内存。
解析一个xml文档,从中取出想要的信息,例如节点中包含的文字,或者某个节点的属性,其流程如下:
1)用 xmlReadFile 函数读出一个文档指针 doc ;
2)用 xmlDocGetRootElement 函数得到根节点 curNode ;
3)curNode->xmlChildrenNode 就