当前位置:网站首页 > 技术博客 > 正文

tinyxml读取xml



优点:
TinyXML 是一个简单、小型的 C++ XML 解析器,可以轻松集成到项目中。
TinyXML 解析 XML 文档,并根据该文档构建可读取、修改和保存的文档对象模型 (DOM)
TinyXML 是在 ZLib 许可下发布的,因此可以在开源或商业代码中使用它。
TinyXML 支持 UTF-8,允许以任何语言操作 XML 文件。

缺点:
TinyXML 目前不使用或直接支持 wchar、TCHAR 或 Microsoft 的 _UNICODE。
TinyXML 不解析或使用 DTD(文档类型定义)或 XSL(可扩展样式表语言)。

DTD 语法:

 

TinyXML可以轻松集成到项目中,只需将两个头文件、四个源文件添加到项目中即可。

 

TinyXML 可以编译为使用或不使用STL。
使用STL时,TinyXML使用std::string类,并完全支持std::istream、std::ostream、operator<<和operator>>。
许多 API 方法都有“const char*”和“const std::string&”两种形式。

在文件tinyxml.h的开头添加如下宏,即可支持STL

 

TinyXML支持三种打印:

 

1)C 风格输出
基于 FILE*,使用接口 Print() 和 SaveFile(),
生成带有大量空白的格式化输出,旨在尽可能便于人类阅读。
能够容忍格式错误的 XML 文档。例如,包含 2 个根元素和 2 个声明的 XML 文档仍将打印。

2)C 风格输入
基于 FILE*,使用接口 Parse() 和 LoadFile()
快速、宽容的阅读(容忍格式错误的XML 文档)

3)C++ 风格的输出
基于 std::ostream,使用操作符 operator<<
生成压缩输出,便于网络传输而不是为了可读性。
不能容忍格式错误的 XML:文档应该包含正确的一个根元素,额外的根级元素将不会输出。

4)C++ 风格输入
基于 std::istream,使用操作符 operator>>
从流中读取 XML,使其可用于网络传输。
TinyXML 在读取根元素后将假定 XML 数据是完整的。换句话说,具有多个根元素的结构不良的文档将无法正确读取。
另请注意,由于 STL 的实现和 TinyXML 的限制,operator>> 比 Parse() 稍慢。

5)打印示例

 

对于是否应该保留空白或压缩空白,并没有达成一致的标准。
例如,假设“_”是一个空格,然后查看“Hello____world”。
HTML,以及至少一些 XML 解析器,会将其解释为“Hello_world”。它们压缩了空白。有些 XML 解析器不这样做,并将其保留为“Hello____world”。

TinyXML 支持前两种方法。调用TiXmlBase::SetCondenseWhiteSpace( bool )设置所需的行为。默认是压缩空白区域。

1)检查函数的返回值是否是: null

 

2)使用句柄 TiXmlHandle 简化检查

 

1)XML文档示例

 

2)读取XML

 

4)注释

将被保存在 TiXmlUnknown 中

完整的对应关系如下:

 

1)继承关系
在这里插入图片描述
2)说明


                            

  • 上一篇: 最新arm+fpga开发板
  • 下一篇: linux流量控制
  • 版权声明


    相关文章:

  • 最新arm+fpga开发板2025-03-04 09:01:01
  • 计算机专业就业方向及就业前景分析2025-03-04 09:01:01
  • java并发编程从入门到精通2025-03-04 09:01:01
  • sscom串口助手使用2025-03-04 09:01:01
  • 上传文件 springboot2025-03-04 09:01:01
  • linux流量控制2025-03-04 09:01:01
  • 串口助手用什么编的2025-03-04 09:01:01
  • 基于java宿舍管理系统开题报告2025-03-04 09:01:01
  • tftp 命令2025-03-04 09:01:01
  • linux框架图2025-03-04 09:01:01