c++ tinyxml2通过名字查找值
时间: 2024-03-10 21:46:50 浏览: 118
tinyxml c++
使用tinyxml2库中的`XMLNode::FirstChildElement`和`XMLElement::NextSiblingElement`函数可以遍历XML文档中的所有元素,然后使用`XMLElement::Value`和`XMLElement::Attribute`等函数获取元素的值和属性。
以下是一个示例代码,演示了如何通过元素名称查找元素的值:
```c++
#include "tinyxml2.h"
#include <iostream>
using namespace tinyxml2;
int main()
{
XMLDocument doc;
doc.LoadFile("example.xml");
XMLElement* root = doc.FirstChildElement("root");
// 遍历所有person元素
for (XMLElement* person = root->FirstChildElement("person"); person != nullptr; person = person->NextSiblingElement("person"))
{
const char* name = person->FirstChildElement("name")->GetText();
const char* age = person->FirstChildElement("age")->GetText();
std::cout << "Name: " << name << ", Age: " << age << std::endl;
}
return 0;
}
```
假设我们有一个名为example.xml的文件,内容如下:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
<person>
<name>John</name>
<age>30</age>
</person>
<person>
<name>Jane</name>
<age>25</age>
</person>
</root>
```
运行上述代码,输出如下:
```
Name: John, Age: 30
Name: Jane, Age: 25
```
阅读全文