0

IsolatedStorage に .xml ファイルを作成して更新しようとしていますが、ファイルを読み取ろうとすると XMLException が発生します。これが私のコードです

 using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
        {
            XmlWriterSettings settings = new XmlWriterSettings();
                settings.Indent = true;
            try
            {
                IsolatedStorageFileStream isoFileStream = isoStore.OpenFile("Favourites.xml", FileMode.Open, FileAccess.ReadWrite);
                using (XmlWriter writer = XmlWriter.Create(isoFileStream, settings))
                {
                    XDocument doc = XDocument.Load(isoFileStream);


                    doc.Root.Add(
                        new XElement("recipe",
                            new XAttribute("id", thisRecipe.RecipeId),
                            new XAttribute("title", thisRecipe.Title),
                            new XAttribute("youtubeid", thisRecipe.YoutubeId)));



                    doc.WriteTo(writer);

                    writer.Flush();


                }
            }
            catch
            {
                using (IsolatedStorageFileStream isoFileStream =
                           isoStore.OpenFile("Favourites.xml", FileMode.Create, FileAccess.ReadWrite))
                {
                 using (XmlWriter writer = XmlWriter.Create(isoFileStream, settings))
                    {
                        writer.WriteStartDocument();

                        writer.WriteStartElement("recipes");
                        writer.WriteEndElement();
                        writer.WriteEndDocument();
                        writer.Flush();
                        writer.Close();

                    }
                }
                 using (IsolatedStorageFileStream isoFileStream =
                           isoStore.OpenFile("Favourites.xml", FileMode.Open, FileAccess.ReadWrite))
                     {

                     using (XmlWriter writer = XmlWriter.Create(isoFileStream, settings))
                     {

                         XDocument doc = XDocument.Load(isoFileStream);


                            doc.Root.Add(
                                new XElement("recipe",
                                    new XAttribute("id", thisRecipe.RecipeId),
                                    new XAttribute("title", thisRecipe.Title),
                                    new XAttribute("youtubeid", thisRecipe.YoutubeId)));


                              doc.WriteTo(writer);
                            writer.Flush();



                     }  
                 }  
                    }
                }

そして、ここに私が作成して更新しようとしているタイプxmlファイルがあります:

<?xml version="1.0" encoding="utf-8"?>
 <recipes>
 <recipe id="1" title="dessert" youtubeid="eQ1qos__ZrA" />
 <recipe id="2" title="starter" youtubeid="5t2uqOkc4NQ"/>
 <recipe id="3" title="beverages" youtubeid="PqJsUibxTIk"/>
 </recipes>
4

0 に答える 0