Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析C+中的XML元素+; 我使用TyyXML2,我想在C++中解析XML中的一些元素。比如说 <root> <First x="1" y="2"> <Second x = "1"> <Second y = "2"> </root>_C++_Xml_Tinyxml2 - Fatal编程技术网

解析C+中的XML元素+; 我使用TyyXML2,我想在C++中解析XML中的一些元素。比如说 <root> <First x="1" y="2"> <Second x = "1"> <Second y = "2"> </root>

解析C+中的XML元素+; 我使用TyyXML2,我想在C++中解析XML中的一些元素。比如说 <root> <First x="1" y="2"> <Second x = "1"> <Second y = "2"> </root>,c++,xml,tinyxml2,C++,Xml,Tinyxml2,我只能解析“Second”元素中的x #包括 #包括“tinyxml2.h” #包括 #包括 #包括 使用名称空间tinyxml2; 使用名称空间std; int main(){ tinyxml2::XMLError eResult=xml_doc.LoadFile(“test.xml”); if(eResult!=tinyxml2::XML_SUCCESS)返回false; tinyxml2::XMLNode*root=xml_doc.FirstChildElement(“根”); if(ro

我只能解析“Second”元素中的x

#包括
#包括“tinyxml2.h”
#包括
#包括
#包括
使用名称空间tinyxml2;
使用名称空间std;
int main(){
tinyxml2::XMLError eResult=xml_doc.LoadFile(“test.xml”);
if(eResult!=tinyxml2::XML_SUCCESS)返回false;
tinyxml2::XMLNode*root=xml_doc.FirstChildElement(“根”);
if(root==nullptr)返回false;
tinyxml2::xmlement*First=root->FirstChildElement(“First”);
if(First==nullptr)返回false;
双x1=std::stod(第一个->属性(“x”);
双y1=std::stod(第一个->属性(“y”);
tinyxml2::xmlement*Second=root->FirstChildElement(“Second”);
if(Second==nullptr)返回false;
双x2=std::stod(第二个->属性(“x”);
双y2=std::stod(第二个->属性(“y”);
系统(“暂停”);
}
当我对“第一个”元素或“第二个y”尝试相同的方法时,它只会显示错误。我该怎么办?

您定义了两次“双x”。试一试

double first_x = std::stod(First->Attribute("x"));
double first_y = std::stod(First->Attribute("y"));

你的编译器应该已经阻止你,但是,始终要注意警告

您两次定义了“双x”。试一试

double first_x = std::stod(First->Attribute("x"));
double first_y = std::stod(First->Attribute("y"));


你的编译器应该已经阻止你,但是,始终要注意警告

请显示您的代码。打开tinyxml2教程并使用它。请显示您的代码。打开tinyxml2教程并使用它。实际上这不是问题。我现在正在使用struct。我刚刚用了“第一”和“第二”作为例子,只是为了让代码对于一个实际上不是问题的问题来说不会太大。我现在正在使用struct。我刚刚使用了“第一”和“第二”作为例子,只是为了让代码不会成为一个大问题
double second_x = std::stod(Second->Attribute("x"));