unity3d 不同平台载入XML文件的方法——IOS MAC Android
2015-01-23 19:49
501 查看
在PC上和IOS上读取XML文件的方式略有差别,经测试,IOS上不支持如下方法载入XML文件:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("Assets/Resources/text.xml");
IOS上载入XML的正确方法有2种:
(1)方法一
TextAsset textAsset = (TextAsset)Resources.Load(filename, typeof(TextAsset));
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(new StringReader(textAsset.text));
(2)方法二
TextAsset textAsset = (TextAsset)Resources.Load(filename, typeof(TextAsset));
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXML(textAsset.text);
上述2种方法分别使用了XmlDocument的Load()方法和LoadXML()方法,传入的参数有些差别,不过都需要通过Resources.Load()方法先将文件载入到一个TextAsset中,然后传给xmlDoc的载入方法。
(3)方法三
需要在IPad上进行持久化操作的文件,比如游戏的本地存档等数据,是不能存放在Resources目录下的,因为IPad上没法对其进行写操作。
那么对于IPad上读写XML,应该怎样进行操作呢?方法如下所述:
将需要序列化的文件存放在Application.persistentDataPath目录下,该目录是一个平台相关的路径。
写:
XmlDocument xmlDoc = new XmlDocument();
...
xmlDoc.Save(Application.persistentDataPath+"//abc.xml");
读:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Application.persistentDataPath+"//abc.xml");
PS1:还有另外一种实现本地持久化操作的方法,使用PlayerPrefs类,此类是U3D提供的专门用来进行玩家偏好设置的类,不过偶暂时未使用此类,是否方便尚未测试。
PS2:
对于Android平台:使用上述方法(3),即和IOS平台相同的操作即可。
对于Mac平台:使用上述方法(1)/(2)。
对于Windows平台:使用上述方法(1)/(2)。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("Assets/Resources/text.xml");
IOS上载入XML的正确方法有2种:
(1)方法一
TextAsset textAsset = (TextAsset)Resources.Load(filename, typeof(TextAsset));
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(new StringReader(textAsset.text));
(2)方法二
TextAsset textAsset = (TextAsset)Resources.Load(filename, typeof(TextAsset));
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXML(textAsset.text);
上述2种方法分别使用了XmlDocument的Load()方法和LoadXML()方法,传入的参数有些差别,不过都需要通过Resources.Load()方法先将文件载入到一个TextAsset中,然后传给xmlDoc的载入方法。
(3)方法三
需要在IPad上进行持久化操作的文件,比如游戏的本地存档等数据,是不能存放在Resources目录下的,因为IPad上没法对其进行写操作。
那么对于IPad上读写XML,应该怎样进行操作呢?方法如下所述:
将需要序列化的文件存放在Application.persistentDataPath目录下,该目录是一个平台相关的路径。
写:
XmlDocument xmlDoc = new XmlDocument();
...
xmlDoc.Save(Application.persistentDataPath+"//abc.xml");
读:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Application.persistentDataPath+"//abc.xml");
PS1:还有另外一种实现本地持久化操作的方法,使用PlayerPrefs类,此类是U3D提供的专门用来进行玩家偏好设置的类,不过偶暂时未使用此类,是否方便尚未测试。
PS2:
对于Android平台:使用上述方法(3),即和IOS平台相同的操作即可。
对于Mac平台:使用上述方法(1)/(2)。
对于Windows平台:使用上述方法(1)/(2)。
相关文章推荐
- U3D不同平台载入XML文件的方法——IOS MAC Android
- U3D不同平台载入XML文件的方法——IOS MAC Android
- (转)U3D不同平台载入XML文件的方法——IOS MAC Android
- 【重要】U3D存放本地游戏存档——不同平台载入XML文件的方法——IOS MAC Android
- 不同平台(mac、windows—wpf、web、ios、android)下实现页面的转场动画
- Unity3D在Android和IOS平台上播放视频方法
- ionic3在ios和android平台上使用不同的样式方法
- mac下面xcode+ndk7配置cocos2dx & box2d的跨ios和android平台的游戏教程
- Mac下发布Unity3d中Android平台下出现“android (invokation failed)”的错误
- MAC下创建Android、iOS模拟器的方法
- mac下面xcode+ndk7配置cocos2dx & box2d的跨ios和android平台的游戏教程
- Cocos2d-x--iOS平台lua加密成luac资源方法和Jsc文件<MAC平台开发试用--windows平台暂未研究>
- Cocos2d-x--iOS平台lua加密成luac资源方法和Jsc文件<MAC平台开发试用--windows平台暂未研究>
- Cocos2d-x--iOS平台lua加密成luac资源方法和Jsc文件<MAC平台开发试用--windows平台暂未研究>
- Fruit Ninja(水果忍者)游戏源代码下载、分析(上)---可运行Android,Ios,Window,Mac,Html5平台
- Unity3d 导出ios、android等移动平台阴影效果步骤
- Mac上配置Cocos2d-x开发环境(多平台:Android/iOS)
- Mac下发布Unity3d中Android平台下出现“android (invokation failed)”的错误
- Fruit Ninja(水果忍者)游戏源代码下载、分析(下)---可运行Android,Ios,Window,Mac,Html5平台
- Fruit Ninja(水果忍者)游戏源代码下载、分析(上)---可运行Android,Ios,Window,Mac,Html5平台