在买的《cocos2d-x之Lua核心编程》这本书里发现没有讲关于解析XML的章节,就去网上搜了一下相关的内容。在http://www.cocoachina.com/bbs/read.PHP?tid-231830-page-1.html这里有在win中使用LuaXML的方法,我用的是Mac,不过方法大同小异,但还是记录一下,因为自己写的下次忘记了比较容易看懂。
方法嘛就是按照上面贴出的网址里做的,但还是有个小问题的,下面就完整的做法记录一下。首先我用的是Quick-Cocos2dx-Community 3.5的版本,在文件目录Quick-Cocos2dx-Community/quick/lib/quick-src/lua_extensions下添加一个文件夹LuaXML。然后从http://viremo.eludi.net/LuaXML/下载LuaXML库文件,如下:
将上图中划红线的文件复制一份到LuaXML文件中,并改名为LuaXML_lib.cpp。然后新建一个文件LuaXML_lib.h到LuaXML中,下面是对这两个文件要改动的内容:
上图是.h的内容。注意划红线的地方,在上面的网址中是放在#define __LUAXML_H__下面的,但是当我运行的时候会提示找不到luaxlib.h中的方法,放到这个地方就没有问题啦~
上图是.cpp的内容。图一红圈中修改的地方,就include头文件,以及在lua.h,lauxlib.h,lualib.h这3个文件外加上extern “C”就好了。图2的方法就是把luaopen_LuaXML_lib前的EXPORT删除就好了。
接着改动lua_extensions_more.c文件:
添加过后就可以编译运行啦。接下来的步骤原文中没有提到,提供给一下和我一样的新手吧。
把下载下来的文件夹中的LuaXml.lua文件复制一份到你的项目中去:项目名/scr/app/ 然后在MyApp.lua中添加require('LuaXml’),就可以使用LuaXML解析xml文件了。方法的介绍可以参考下面的这个:http://blog.csdn.net/yhangleo/article/details/8181811 但是load方法中的参数需要注意一下,需要绝对路径,所以只要传一个绝对路径就可以了:cc.FileUtils:getInstance():fullPathForFilename("test.xml”),其他的就按照上面的网址去摸索吧。
OK,希望自己有讲清楚吧。