Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.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++ TinyXML2 C++;进口_C++_Import_Wxwidgets_Tinyxml2 - Fatal编程技术网

C++ TinyXML2 C++;进口

C++ TinyXML2 C++;进口,c++,import,wxwidgets,tinyxml2,C++,Import,Wxwidgets,Tinyxml2,我有一个XML文件,看起来像: <?xml version="1.0" encoding="UTF-16"?> <Table> <Dataset> <Year>Year1</Year> <Month>Month1</Month> <Day>Day1</Day> </Dataset> <Dataset>

我有一个XML文件,看起来像:

<?xml version="1.0" encoding="UTF-16"?>
<Table>
   <Dataset>
      <Year>Year1</Year>
      <Month>Month1</Month>
      <Day>Day1</Day>
   </Dataset>
   <Dataset>
      <Year>Year2</Year>
      <Month>Month2</Month>
      <Day>Day1</Day>
   </Dataset>
</Table>
它读取第一个数据集的年、月和日期。为了读取下一个数据集的数据,需要知道什么?我建议在读取后删除第一个数据集,以便可以使用FirstChildElement()再次读取第二个数据集;。但我没有明白

有人能帮忙吗

xeDataset = xeDataset->NextSiblingElement("Dataset")
详细说明:

XMLElement* xeTable = xeExport->FirstChildElement("Table");

for(XMLElement* xeDataset = xeTable->FirstChildElement("Dataset"); xeDataset; xeDataset = xeDataset->NextSiblingElement("Dataset"))
{
         XMLElement* xeYear = xeDataset->FirstChildElement("Year");
         XMLElement* xeMonth = xeDataset->FirstChildElement("Month");
         XMLElement* xeDay = xeDataset->FirstChildElement("Day");

         XMLText* xnYear  = xeYear->FirstChild()->ToText();
         const char* cYear = xnYear->Value();

         XMLText* xnMonth  = xeMonth->FirstChild()->ToText();
         const char* cMonth = xnMonth->Value();

         XMLText* xnDay  = xeDay->FirstChild()->ToText();
         const char* cDay = xnDay->Value(); 
}
详细说明:

XMLElement* xeTable = xeExport->FirstChildElement("Table");

for(XMLElement* xeDataset = xeTable->FirstChildElement("Dataset"); xeDataset; xeDataset = xeDataset->NextSiblingElement("Dataset"))
{
         XMLElement* xeYear = xeDataset->FirstChildElement("Year");
         XMLElement* xeMonth = xeDataset->FirstChildElement("Month");
         XMLElement* xeDay = xeDataset->FirstChildElement("Day");

         XMLText* xnYear  = xeYear->FirstChild()->ToText();
         const char* cYear = xnYear->Value();

         XMLText* xnMonth  = xeMonth->FirstChild()->ToText();
         const char* cMonth = xnMonth->Value();

         XMLText* xnDay  = xeDay->FirstChild()->ToText();
         const char* cDay = xnDay->Value(); 
}

我不确定你的问题是否得到解决。只是想知道encoding=“UTF-16”是否没有引起任何问题?tinyXML是否支持UTF-16?我不确定您的问题是否得到解决。只是想知道encoding=“UTF-16”是否没有引起任何问题?tinyXML支持UTF-16吗?XML文件以UTF-16格式编码。它能与TinyXML 1/2一起工作吗?他们的文档说他们支持UTF-8,但对UTF-16只字未提。@someone\u smiley这听起来像是一个与此答案无关的问题。@someone\u smiley tinyxml代码库非常小(因此很小);我快速查看了一下,没有针对wchar\u t type的typedef,只有char,因此它仅表示utf8。XML文件以UTF-16格式编码。它能与TinyXML 1/2一起工作吗?他们的文档说他们支持UTF-8,但对UTF-16只字未提。@someone\u smiley这听起来像是一个与此答案无关的问题。@someone\u smiley tinyxml代码库非常小(因此很小);我快速浏览了一下,没有针对wchar\u t type的typedef,只有char,因此它只建议使用utf8。