Unity3d在Android环境下读取XML的注意事项

PC环境下读取一般可以直接用

XmlDocument doc = new XmlDocument();
 doc.Load(path);可以直接加载进来。
path为直接路径。
此时路径可以为streamingAssets文件夹下,也可以是自己自建的文件夹下面,如果是你自己建的文件夹下打包后需要手动添加一下,就是说比如你自己在Assets文件下新建了一个Config文件夹,那么打包后你需要在Data文件里面新建一个Config文件夹,然后把你的XMl文件放进去就可以了。
2:用
www类去加载XMl文件:
比如此时你的XMl文件在streamingAssets文件夹下

url = "file://" + Application.streamingAssetsPath + "/hp.xml";//在Windows中实例化WWW必须要在路径前面加"file://"
WWW wWA = new WWW("file://" + url);
yield return wWA;
line1 = wWA.text;
Debug.Log(line1);

注意:必须要文件路径前面加上"file://"

 

Android环境下加载XML

1:安卓环境下不支持下面的用法

XmlDocument doc = new XmlDocument();
 doc.Load(path);不能直接加载进来。
 
一般情况都使用WWW类去加载:
可以参考下面的写法,已经测试过:

public static IEnumerator load()
{
string path = string.Empty;
string line1 = string.Empty;
if (Application.platform == RuntimePlatform.Android)
{
path = Application.streamingAssetsPath + "/Config.xml"; //在Android中实例化WWW不能在路径前面加"file://"

//path = "jar:file://" + Application.dataPath + "!/assets/"+Config.xml;//第二种写法:此时直接访问安卓环境下的文件夹地址。

WWW wWA = new WWW(path );///WWW读取在各个平台上都可使用
yield return wWA;
line1 = wWA.text;
Debug.Log(line1);
}
else
{
path = "file://" + Application.streamingAssetsPath + "/Config.xml";//在Windows中实例化WWW必须要在路径前面加"file://"
WWW wWA = new WWW("file://" + path );
yield return wWA;
line1 = wWA.text;
Debug.Log(line1);
}
yield return null;
}

 

 

posted on 2017-11-03 16:14  诗和远方的田野  阅读(2628)  评论(0编辑  收藏  举报

导航