微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

手机”读取XML

Dear All:
我们都知道如果将档案或Prefab放到Resources的资料夹,就可以透过Resources这个class读取资料夹中的档案或Prefab。我们也知道在UNITY里头,可以使用.NET Framework的XmlReader来读取XML档案。我们更清楚,使用Application.dataPath可以取得Assert资料夹的位置。所以...



问题:当你把XML档案放置于Resources资料夹中,你要怎么读取这个档案?
以我这个蠢才来说,我会使用XmlReader这个Class,然后档案读取路径为:Application.dataPath + "Resources/expTable.xml"。接着用MS给的范例读取我要的资料,如下所示:

while ( reader.Read() ) {
switch ( reader.NodeType ) {
case XmlNodeType.Element:
break ;
}
}

OK!GOOD,一切就绪!!启动Editor,资料正常!打完收工...
...
....
.....
......(慢着~~怎么放上Android手机后不正常??)
对!你中招了...
因为Application.dataPath在手机上所表示的路径根本不是Asset资料夹所在的位置,而是(以Android为例):
/mnt/asec/com.xxx.projectx/pkg.apk
这是"三小"?? (错愕)...#@$@$...
所以你在PC可以Loading的档案,现在变成找不到!!
所以解法是:
//一样利用Resources class读取xml,只是先暂时转换成TextAsset
TextAsset t = Resources.Load("expTable") as TextAsset ;
//接着再转换成XmlReader
XmlReader reader = XmlReader.Create( new StringReader( t.text ) );
OK!这才叫“打完收工”

原文地址:https://www.jb51.cc/xml/299939.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。