手机”读取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!这才叫“打完收工”

相关文章

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