2015-11-21 69 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); 
相關問題