加载XML出错总结

我加载XML文件时出现这个问题,这是单步调试时出现的错误

0x00393436处最可能的异常:0xC0000005:读取位置0x00000020时发生访问冲突,调试出现这个错误!!!

上网找的结果都不是很直接能解决自己的问题

其实原因大多是初始化XML文件时出错,因为在这里出错

// //读取xml表信息
NameParser* myXml = NameParser::parserWithFile("rolename.xml");

在这里myXml是空的!!发现值是0xcccccccccc!!!!!
这个意思是未初始化时候的指针是指向地址0x0cccccccc的!!!所以说明没有初始化成功!!!再继续看到解析文件

boolNameParser::initNameParser(constchar*tmxFile)

{

m_xmlMap.clear();

CCSAXParserparser;//定义解析

if(!parser.init("UTF-8"))//不是utf-8就不解析了

{

returnfalse;

}

parser.setDelegator(this);//设置解析的对象,这样就会调用解析的方法

stringfullPath=CCFileUtils::sharedFileUtils()->fullPathForFilename(tmxFile);

returnparser.parse(fullPath.c_str());

}

其实加载XML文件大多错误出现在加载路径的时候,经过单步调试,自己就是在这里出现错误, 说从XML文件加载数据失败,后来才发现自己XML文件不是放在Resource目录下,所以改了目录,最后运行,成功!!!

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念