2015-11-21 30 views
2

以下代码在我的电脑中完美工作,但是当我尝试在Android手机中运行它时,它无法工作。读取XML在我的电脑上工作,但不在我的Android手机中

string path = @"Assets\Layout\XML\file" + select.ToString() + @".xml"; 
XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<Name>)); 
StreamReader sr = new StreamReader(path); 
List<Name> listnames = (List<Name>)xmlSerializer.Deserialize(sr); 

如何让代码在我的Android手机中工作?

+0

你需要指定你所使用的编程语言在Android设备上 –

+0

我写C#和团结,但有人删除它。 @KenTucker – auhan

+0

*它不起作用* - 具体发生了什么?如果有例外,那是什么? 'FileNotFoundException'? 'InvalidOperationException'?如果发生异常,那么包含消息,回溯和内部异常(如果有)在内的异常的完整输出是“ToString()”? – dbc

回答

0

我差点放弃,但终于解决了。 Unity将所有内容都转换为二进制变量,因此您需要做的第一件事就是将所有需要txt的xml文件转换并复制到“Assets/Resources”文件夹中。

然后,您可以使用下面的代码:

TextAsset asset = Resources.Load("file" + select.ToString()) as TextAsset; 
    Stream s = new MemoryStream(asset.bytes); 
    BinaryReader br = new BinaryReader(s); 

    XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<Name>)); 
    StreamReader sr = new StreamReader(s); 
    List<Name> listnames = (List<Name>)xmlSerializer.Deserialize(sr); 
相关问题