mini xml解析流程

来源:互联网 发布:曼威网络 编辑:程序博客网 时间:2024/05/17 21:59

onvif使用的是mini xml解析xml,公司内部没有人懂这一块,刚好让我看看源码。

mini xml是一个开源的项目,但是基本上能看到的都是如何使用的教程,内部使用流程没有在网上搜索到,所以刚好整理了一部分放到博客供大家参考。


1.      mini xml介绍

Mini-XML是一个小型的开源的XML解析器,采用 C 语言开发。该解析器最大的特点就是小型、无须依赖其他类库,只需要 GCC 编译器 和 make 程序即可编译,支持 UTF-8/UTF-16 编码。

Mini-XML支持读取UTF-8和UTF-16和UTF-8编码的XML文件和字符串写。数据存储在链表树结构,保留XML数据的层次结构,并且没有预设的限制,可用内存维护任意元素名称,属性和属性值

 

2.      数据结构

node的6个类型:Element\integer\opaque\real\text\custom

element则保存”<” ” >”里面的内容。

其余类型则保存”<>” “</>”之间的内容。

其中text类型和opaque类型都是保存字符串,但text不包含空格,而opaque则将空格包含在内;

real类型是保存double类型的数据。



3.      数据存储

有个xml文件内容如下:

<? ?>

<noteyear="55" date="33" month="22">

<id>5000</id>

<password>FE-D0-18-00</password>

</note>

下图是显示了如何保存xml文件:

 

4.      关于xml的head

xml的head一般如下:

<?xml version="1.0"encoding="utf-8"?>,其中 “<? ?>”为xml head的标志。

在mini xml解析到”<? ?>”之后,会将它设置为rootelement,并设置它的所有子孙节点的类型。

如果xml没有”<? ?>”标志,则不会设置它的所有子孙节点的类型,导致解析错误。

5.      待续。


0 0
原创粉丝点击