我正在使用 tinyxml2,我想在 C++ 中解析 XML 中的一些元素。例如
<root>
<First x="1" y="2">
<Second x = "1">
<Second y = "2">
</root>
我只能解析“第二”元素中的 x。
#include <stdio.h>
#include "tinyxml2.h"
#include <iostream>
#include <string>
#include <iomanip>
using namespace tinyxml2;
using namespace std;
int main(){
tinyxml2::XMLError eResult = xml_doc.LoadFile("test.xml");
if (eResult != tinyxml2::XML_SUCCESS) return false;
tinyxml2::XMLNode* root = xml_doc.FirstChildElement("root");
if (root == nullptr) return false;
tinyxml2::XMLElement* First = root->FirstChildElement("First");
if (First == nullptr) return false;
double x1 = std::stod(First->Attribute("x"));
double y1 = std::stod(First->Attribute("y"));
tinyxml2::XMLElement* Second = root->FirstChildElement("Second");
if (Second == nullptr) return false;
double x2 = std::stod(Second->Attribute("x"));
double y2 = std::stod(Second->Attribute("y"));
system("pause");
}
当我对“第一个”元素或“第二个 y”尝试相同的方法时,它只会显示错误。我应该怎么办?