Export (0) Print
Expand All

How to: Save XMLWriter Content to Isolated Storage

Silverlight

This topic shows how to use the Microsoft .NET Framework for Silverlight to save XmlWriter content to an isolated storage file.

To configure a Silverlight Visual Studio project to run this example

  1. Modify your page.xaml file so that it includes the following TextBlock element:

    <TextBlock x:Name ="OutputTextBlock" Canvas.Top ="10" TextWrapping="Wrap"/>
    
  2. In the page.xaml.cs (page.xaml.vb in Visual Basic) source file for your application, add the following using statements (Imports in Visual Basic):

    
    using System.Xml;
    using System.IO;
    using System.Text;
    using System.IO.IsolatedStorage;
    
    
    

The code example does the following:

  • Obtains the isolated storage for the user.

  • Creates a new file in the isolated storage.

  • Uses the stream writer and an XmlWriterSettings object to create a new XmlWriter instance.

  • Writes content to the XmlWriter and calls the Flush method so that the content of XmlWriter content is written to the isolated storage.

  • Uses StreamReader to read the content of the file, and then writes the content to the page.

  • Deletes the file.


using (IsolatedStorageFile isoStore =
    IsolatedStorageFile.GetUserStoreForApplication())
{

    // Create new file
    using (IsolatedStorageFileStream isoStream =
        new IsolatedStorageFileStream("IsoStoreFile.xml",
            FileMode.Create, isoStore))
    {
        // Write to the Isolated Storage for the user.
        XmlWriterSettings settings = new XmlWriterSettings();
        settings.Indent = true;
        // Create an XmlWriter.
        using (XmlWriter writer = XmlWriter.Create(isoStream, settings))
        {

            writer.WriteComment("sample XML document");

            // Write an element (this one is the root).
            writer.WriteStartElement("book");

            // Write the namespace declaration.
            writer.WriteAttributeString("xmlns", "bk", null, "urn:samples");

            // Write the genre attribute.
            writer.WriteAttributeString("genre", "novel");

            // Write the title.
            writer.WriteStartElement("title");
            writer.WriteString("The Handmaid's Tale");
            writer.WriteEndElement();

            // Write the price.
            writer.WriteElementString("price", "19.95");

            writer.WriteStartElement(null, "ISBN", "urn:samples");
            writer.WriteString("1-861003-78");
            writer.WriteEndElement();

            // Write the style element (shows a different way to handle prefixes).
            writer.WriteElementString("style", "urn:samples", "hardcover");

            // Write the close tag for the root element.
            writer.WriteEndElement();

            // Write the XML to the file.
            writer.Flush();
        }
    }
    // Open the file again for reading.
    using (StreamReader reader =
                    new StreamReader(isoStore.OpenFile("IsoStoreFile.xml", FileMode.Open)))
    {
        OutputTextBlock.Text = reader.ReadToEnd();
    }


    // Delete the IsoStoreFile.xml file.
    isoStore.DeleteFile("IsoStoreFile.xml");
}


Community Additions

ADD
Show:
© 2014 Microsoft