0
我正在使用tinyxml2在C++中的項目。 我有一個XML解析的問題,我得到一個errorID 10和錯誤消息是「XML_ERROR_PARSING_TEXT」文件加載時。tinyxml2加載xml errorID 10
這是有問題的下面的XML:
<Game>
<Window>
<width>600</width>
<height>500</height>
<background>joliBackgroundDeGael.jpg</background>
</Window>
<Square>
<Mario>
<size>
<width>30</width>
<height>15</height>
</size>
<speedPerFrame>5</speedPerFrame>
<font>
<stop>stopMario.jpg</stop>
<run>runMario.jpg</run>
<jump>jumpMario.jpg</jump>
</font>
</Mario>
</Square>
</Game>
XML文件在W3C驗證有效。 所以我覺得問題不在這裏,但也許在這裏:
void parseXML::getDoc()
{
this->doc.LoadFile(this->path);
if (this->doc.ErrorID() != 0)
{
printf("load file=[%s] failed\n", this->doc.GetErrorStr1());
printf("load file=[%s] failed\n", this->doc.GetErrorStr2());
}
}
當我看到在一個斷點的LoadFile功能,我看到加載文件是一樣的下面。
這裏的完整代碼:
#include "caracteristique.h"
#include <iostream>
#include <direct.h>
#define GetCurrentDir _getcwd
using namespace tinyxml2;
const char* parseXML::path = "XMLType.xml";
void parseXML::getDoc()
{
this->doc.LoadFile(this->path);
if (this->doc.ErrorID() != 0)
{
printf("load file=[%s] failed\n", this->doc.GetErrorStr1());
printf("load file=[%s] failed\n", this->doc.GetErrorStr2());
}
}
int parseXML::getWindowHeight()
{
if (this->doc.Error())
this->getDoc();
XMLElement *root = this->doc.RootElement();
if (!root)
{
XMLElement *window = root->FirstChildElement("Window");
if (!window)
std::cout << window->FirstChildElement("height")->FirstChild()->ToText() << std::endl;
}
return 0;
}
的想法?
感謝您的幫助,