【发布时间】:2013-12-13 02:31:22
【问题描述】:
我有一个属性 (_XMLPlaylist),我想在 XML 文件中序列化,如代码所示:
private void btn_Save_Click(object sender, RoutedEventArgs e)
{
_Playlist.Pl_Name = tb_Name.Text.ToString();
_XMLPlaylist.Playlists.Add(_Playlist);
IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication();
using (IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream(StudiCast.Resources.AppResources.Playlists, FileMode.CreateNew, isoStore))
{
using (StreamWriter writer = new StreamWriter(isoStream))
{
var ser = new XmlSerializer(typeof(XMLPlaylist));
ser.Serialize(writer, _XMLPlaylist);
writer.Close();
}
isoStream.Close();
}
}
XMLPlaylist 类型如下所示:
class XMLPlaylist
{
public XMLPlaylist()
{
Playlists = new List<Playlist>();
}
public List<Playlist> Playlists;
}
还有这样的类播放列表:
class Playlist
{
public Playlist()
{
Casts = new List<Cast>();
}
public string Pl_Name;
public List<Cast> Casts;
}
'Cast' 拥有两个字符串。在 .NET 4 中,我在类名前使用了关键字 [Serializable],但不再有 [Serializable] 属性。
需要快速帮助!
编辑: 'var ser = new XmlSerializer(typeof(XMLPlaylist));' 处出错:
在 System.InvalidOperationException 中出现“System.Xml.Serialization.ni.dll”类型的未处理错误。
【问题讨论】:
标签: c# xml serialization windows-phone-8 serializable