0
所以這裏是我的代碼,它在Unity編輯器中工作得很好,但在android上沒有,它只讀取xml文件的第一行。 我不知道它有什麼問題。 該文件存在於手機上,但只讀取第一行。 在統一編輯器中,它工作得很好。 感謝您的幫助。我該如何閱讀Android上的XML與統一?
using System.Xml;
using System.Xml.Serialization;
public class Mission
{ [XmlAttribute("id")]
public int Id;
public string description;
public int ordre;
}
這裏是自動加載XML
using System.IO;
using System.Xml.Serialization;
using System.Collections.Generic;
[XmlRoot("Missionss")]
public class Missions{
[XmlArray("Missions"), XmlArrayItem("Mission")]
public List<Mission> Mission_List;
private Missions(){}
public static Missions LoadFromFile(string filepath){
XmlSerializer serializer = new XmlSerializer(typeof(Missions));
using(FileStream stream = new FileStream(filepath, FileMode.Open))
{
return serializer.Deserialize(stream) as Missions;
}
}
public void Save (string path)
{
XmlSerializer serializer = new XmlSerializer (typeof(Missions));
using (FileStream stream = new FileStream (path, FileMode.Create)) {
serializer.Serialize (stream, this);
}
}
}
終於類:
public void LoadXML(){
string filename="/phases.xml";
string filename1="/missions.xml";
phases = Phases.LoadFromFile(Application.persistentDataPath + filename);
missions = Missions.LoadFromFile (Application.persistentDataPath + filename1);
}
public void save(){
phases.Save(Application.streamingAssetsPath + "phases.xml");
missions.Save(Application.streamingAssetsPath + "missions.xml");
}
是否打算保存在streamingAssetsPath上,但從持久性加載? –
是的,我使用來自streamingAssets的WWW類下載它,並且將它寫入持久化中,然後再從持久化中加載它。這是我發現使其工作的唯一方法,但它只讀取我的第二個xml的第一行(我有兩個xml文件)。 –
我知道,這有點蹩腳,但如果你的xml不是很大,你可以安全地將它存儲在PlayerPrefs中,並且它對於不同的平臺是安全的。 –