c++ 读取xml文件
时间: 2023-08-11 15:03:10 浏览: 152
XML.rar_C++读写xml_c xml_xml_xml文件读写_xml读写
在C++中,可以使用第三方库来读取和解析XML文件,比如 `pugixml`。以下是使用 `pugixml` 库读取XML文件的示例代码:
首先,需要下载并安装 `pugixml` 库。可以从 https://pugixml.org/ 下载源代码,并将 `pugixml.hpp` 和 `pugixml.cpp` 文件添加到你的C++项目中。
接下来,可以使用以下示例代码来读取XML文件:
```cpp
#include <iostream>
#include "pugixml.hpp"
int main() {
pugi::xml_document doc;
if (!doc.load_file("data.xml")) {
std::cout << "Failed to load 'data.xml'" << std::endl;
return 1;
}
// 获取根节点
pugi::xml_node root = doc.child("root");
// 遍历子节点
for (pugi::xml_node node = root.first_child(); node; node = node.next_sibling()) {
std::cout << "Node name: " << node.name() << std::endl;
// 获取节点属性
std::cout << "Attribute value: " << node.attribute("attribute_name").value() << std::endl;
// 获取节点文本内容
std::cout << "Node value: " << node.child_value() << std::endl;
// 获取子节点
pugi::xml_node childNode = node.child("child_node");
if (childNode) {
// 处理子节点
}
}
return 0;
}
```
确保将 `data.xml` 替换为你要读取的实际XML文件的路径。使用 `load_file` 函数可以加载XML文件,然后可以使用 `child`、`attribute`、`child_value` 等函数来获取节点的名称、属性和文本内容。
请注意,上述示例假设你已经将 `pugixml.hpp` 和 `pugixml.cpp` 文件添加到你的项目中,并且已经正确配置了编译器和链接器,以便能够正确编译和运行代码。
阅读全文