0
全部, 我正在研究一個windows手機遊戲,該遊戲在遊戲加載之前從遠程Web服務獲取一些XML數據。這更新了遊戲不時使用的一些數據。這部分工作得很好。一旦抓住從Web服務中的數據,我使用:Windows Phone xna遊戲,如何保存從Web服務檢索到的XML
void Response_Completed(IAsyncResult result)
{
HttpWebRequest request = (HttpWebRequest)result.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);
using (StreamReader streamReader = new StreamReader(response.GetResponseStream()))
{
string xml = streamReader.ReadToEnd();
using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
reader.MoveToContent();
reader.GetAttribute(0);
reader.MoveToContent();
webMessage = reader.ReadInnerXml();
所以,現在我已經得到了在webMessage字符串變量的XML字符串。然後我將它寫入IsolatedStorage中的文件。再次效果很好。我的問題是,當我去讀取數據:
using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream stream = myIsolatedStorage.OpenFile("Test.xml", FileMode.Open))
{
XmlSerializer serializer = new XmlSerializer(typeof(List<Item>));
List<Item> data = (List<Item>)serializer.Deserialize(stream);
foreach (Item item in data)
{
System.Diagnostics.Debug.WriteLine(item.Item);
}
}
}
所以,問題是當文件被寫入獨立存儲,它逃避所有的XML標記,所以當我去讀取該文件,而不是「<」它讀數%lt;這會導致反序列化過濾並報告無效字符。我真的試圖避免循環,雖然我從Web服務中獲取的XML,這似乎是浪費,我知道它是從我自己的服務器有效的XML。有誰知道從Web服務中獲取XML並將其寫入IsolatedStorage中的文件的方法嗎?
在此先感謝。
如果你使用'XmlSerializer'既'序列化();'和'反序列化();'你應該就好了。當你的代碼站立時,你不會發布你將它保存到IsolatedStorage的部分。 – Nate