FastDDS 解析xml文件
1.遍历所有的name存起来, 查看是否有base_name, 如果有,把之前存入的qos取出来,在对比是否有新的设置,如果有,覆盖更新,
TinyXML-2 是一个轻量级的 C++ XML 解析库,用于解析和操作 XML 数据。
以下是一个简单的示例,展示如何使用 TinyXML-2 解析一个 XML 文件:
#include <tinyxml2.h>
#include <iostream>int main() {tinyxml2::XMLDocument doc;doc.LoadFile("example.xml");if (doc.Error()) {std::cerr << "Error loading XML file: " << doc.ErrorStr() << std::endl;return 1;}tinyxml2::XMLElement* root = doc.RootElement();if (root) {std::cout << "Root element: " << root->Name() << std::endl;}return 0;
}
- TinyXML-2 是一个简单、高效的 XML 解析库,适合需要轻量级 XML 操作的场景。
- 使用前需要确保库已正确安装,并在编译时链接。
TinyXML-2 是一个轻量级的 C++ XML 解析库,具有以下核心功能:
- 解析和生成 XML 文档:
- 解析功能:能够解析 XML 文件并构建内部数据结构,支持标准的 XML 语法,包括元素、属性、文本和注释等。
- 生成功能:支持创建 XML 文档,允许用户动态添加元素、属性和文本内容,生成完整的 XML 文件。
- 文档对象模型(DOM)支持:
- 通过 DOM 接口,将 XML 数据解析为 C++ 对象,支持对 XML 文档的读取、修改和保存操作。
- 提供对 XML 文档的完整访问能力,包括遍历文档结构、修改节点内容等。
- 对象模型操作:
- XMLDocument:表示整个 XML 文档,用于加载、解析和保存 XML 文件。
- XMLElement:表示 XML 元素,支持获取和修改元素的名称、属性和内容。
- XMLAttribute:表示 XML 元素的属性,支持访问和修改属性。
- XMLText:表示 XML 元素中的文本内容,支持文本节点的读取和修改。
- XMLComment:表示 XML 中的注释,支持注释内容的访问和修改。
- 错误处理和调试支持:
- 提供强大的错误处理机制,在解析或生成 XML 时,若遇到错误会生成相应的错误消息。
- 记录节点和属性的行号信息,便于开发人员定位和调试问题。
- Unicode 支持:
- 内置对 Unicode 字符集的支持,能够正确处理各种语言的文本,包括非 ASCII 字符。
- 跨平台兼容性:
- 支持多种操作系统,包括 Windows、Linux 和 macOS,使用标准 C++ 编写,不依赖特定操作系统功能。
- 轻量级和高性能:
- 代码库体积小,适合资源受限的环境,如嵌入式系统。
- 采用高效的解析算法,能够快速处理大型 XML 文件。
- XPath 查询支持(部分功能):
- 支持使用 XPath 表达式对 XML 文档进行查询,提供强大的节点定位和过滤功能。
- 容错能力:
- 在解析过程中能够处理不完全或有错误的 XML 文档,尽可能多地解析有效内容。
- 灵活的构建和集成方式:
- 支持通过源代码直接包含到项目中,或通过包管理器安装。
- 提供 CMake 集成支持,便于在 C++ 项目中配置和使用。
- 开源和免费使用:
- 基于 MIT 许可证发布,允许在商业和非商业项目中免费使用、修改和分发。