可以从独立存储读取XML文件

本文关键字:读取 XML 文件 存储 独立 | 更新日期: 2023-09-27 18:18:51

这是一个Silverlight WindowsPhone项目,我试图在isolatedstorage中创建一个xml文件,然后我尝试从它读取,这里是代码:

using (var file = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    using (var stream = file.OpenFile("MainLBItems.xml", FileMode.Create))
                    {
                        XDocument MainLBItems = new XDocument(
                            new XDeclaration("1.0", "utf-8", "yes"),
                            new XComment("This is a comment"),
                            new XElement("Items")
                        );                        
                        MainLBItems.Save(stream);                        
                    }
                }

问题是,当我试图从中读取时,这里是代码

using (var file = IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (var stream = file.OpenFile("MainLBItems.xml", FileMode.Open))
                {
                    XDocument MainLBItems = XDocument.Load(stream);
                    ...
                }
            }

我有一个错误告诉"意外的XML声明。"XML声明必须是文档中的第一个节点,并且不允许在其前面出现空白字符。3号线,12号位置。"并抛出未处理的XmlException

你能帮我解决这个问题吗?提前谢谢。

我试图单独添加XML声明,但它也不起作用:

using (var file = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    using (var stream = file.OpenFile("MainLBItems.xml", FileMode.Create))
                    {
                        XDocument MainLBItems = new XDocument();
                        MainLBItems.Declaration=  new XDeclaration("1.0", "utf-8", "yes");
                        MainLBItems.Add(
                            new XComment("This is a comment"),
                            new XElement("Items")
                        );                        
                        MainLBItems.Save(stream);                        
                    }
                }

可以从独立存储读取XML文件

由于您还没有发布XML,我只能猜测…当文档中没有根节点时,我经常遇到这个问题:

<xml version="1.0" encoding="utf-8" xmlns:myNamespace="...">
<MyNodes>
    .... etc ....
</MyNodes>