Can';t在android上用c++;

Can';t在android上用c++;,android,c++,xml,cocos2d-x,rapidshare,Android,C++,Xml,Cocos2d X,Rapidshare,我正在从事一个cocos2dxc++项目,我正在尝试加载一个xml文件并用rapidxml解析它 const unsigned char* xmldata = CCFileUtils::sharedFileUtils()->getFileData("myxml.xml", "r", &tmpSize); std::string xmldata2 = CCFileUtils::sharedFileUtils()->getStringFromFile("myxml.xml");

我正在从事一个cocos2dxc++项目,我正在尝试加载一个xml文件并用rapidxml解析它

const unsigned char* xmldata = CCFileUtils::sharedFileUtils()->getFileData("myxml.xml", "r", &tmpSize);
std::string xmldata2 = CCFileUtils::sharedFileUtils()->getStringFromFile("myxml.xml");
Win32构建非常适合使用此代码

rapidxml::file<> xmlFile("myxml.xml"); 
xml_document<> doc; // character type defaults to char
doc.parse<0>(xmlFile.data());    // 0 means default parse flags
xml_node<> *main = doc.first_node();  //Get the main node that contains everything
但是我不知道如何解析它

这是获取数据的另一种方法,但仍然不知道如何使用rapidxml进行解析

const unsigned char* xmldata = CCFileUtils::sharedFileUtils()->getFileData("myxml.xml", "r", &tmpSize);
std::string xmldata2 = CCFileUtils::sharedFileUtils()->getStringFromFile("myxml.xml");
有没有关于如何在rapidxml中解析这个问题的想法,或者其他关于如何解决这个问题的建议

我是c++新手,因此非常感谢您的帮助。

我使用过,而且使用起来相对简单。文件被读取为:

xml_document* doc = new xml_document;
unsigned char* pBuffer = NULL;
unsigned long bufferSize = 0;

std::string fullPath = CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(filename);

pBuffer = CCFileUtils::sharedFileUtils()->getFileData(fullPath.c_str(), "r", &bufferSize);

if(bufferSize == 0)
{
    CCLog("file failed to open");
    delete doc;
}

xml_parse_result results = doc->load_buffer(pBuffer, bufferSize);
CCLog("filename: %s | result: %s | status: %d",filename, results.description(), results.status);

if(pBuffer)
{
    delete [] pBuffer;
    pBuffer = NULL;
}
xml_node mainNode = doc->child("main");
然后,mainNode具有已解析文件的内容