C# XML文档(1.1)中存在错误

C# XML文档(1.1)中存在错误,c#,windows-phone-7,silverlight-4.0,C#,Windows Phone 7,Silverlight 4.0,尝试反序列化流时出错 public static AllFlags Load() { IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication(); AllFlags allFlags; //IsolatedStorageFileStream stream = storage.OpenFile(filename, FileMode.Open); StringReade

尝试反序列化流时出错

public static AllFlags Load()
{
    IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication();
    AllFlags allFlags;

    //IsolatedStorageFileStream stream = storage.OpenFile(filename, FileMode.Open);
    StringReader stream = new StringReader(filename);
    XmlSerializer xml = new XmlSerializer(typeof(AllFlags));
    allFlags = xml.Deserialize(stream) as AllFlags;// here There is an error in XML
    stream.Close();
    stream.Dispose();

    return allFlags;
}
如果我从独立存储中打开该文件,没有问题

public static AllFlags Load()
{
    IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication();
    AllFlags allFlags;

    IsolatedStorageFileStream stream = storage.OpenFile(filename, FileMode.Open);
    XmlSerializer xml = new XmlSerializer(typeof(AllFlags));
    allFlags = xml.Deserialize(stream) as AllFlags;
    stream.Close();
    stream.Dispose();

    return allFlags;
}
我怎样才能打开这个文件

编辑:

我的xml文件“Flags.xml”:


Tag1
名称1
...
A不是从文件中读取,而是从字符串中读取。您正在将
filename
中的任何内容解析为XML(它不是XML,而是路径)

您可能希望使用以下选项:


xml是什么样子的?嗯。。您是否检查了内部异常的异常?据我记忆,此错误包含的信息比消息所说的要多。我收到另一个错误:尝试访问该方法失败:System.IO.StreamReader..ctor(System.String)请参见此处:我没有注意到您的
windows-phone-7
标记。我想在您的情况下,
IsolatedStorage
是一个不错的选择。当我使用隔离存储时,我得到了一个错误:不允许对IsolatedStorageFileStream执行操作。我想它找不到文件。@YaroslavShabanov-euh。。。在您的问题中,您指出它在使用隔离存储文件流时有效。是的,如果文件在隔离存储中,它也有效。我的意思是,如果首先在独立的存储中创建并保存文件,那么它将毫无问题地打开。但我有一个文件,我已经把它放进了项目中,它不在独立的存储中。
    <?xml version="1.0"?>
    <AllFlags>
      <Flags>
        <Flag>
          <Tag>Tag1</Tag>
          <Name>Name1</Name>
        </Flag>

...

      </Flags>
    </AllFlags> 
StreamReader stream = new StreamReader(filename);