【问题标题】:Xml file Creation in Windows phone 7 app using Visual Studio 2010 C#使用 Visual Studio 2010 C# 在 Windows phone 7 应用程序中创建 XML 文件
【发布时间】:2011-03-26 06:51:21
【问题描述】:

我已使用 Visual Studio 2008 成功创建了 XML,但 Visual Studio 2010 中的 Windows Phone 7 应用程序似乎不支持相同的语法。

我正在使用以下命名空间:

using System.Xml.Linq;
using System.Xml;

我的代码是:

private const string filename = @"c:\sampledata.xml";


XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = true;
settings.NewLineOnAttributes = true;
byte[] byteArray = Encoding.UTF8.GetBytes(filename);
MemoryStream strm = new MemoryStream(byteArray);
XmlWriter writer = XmlWriter.Create(strm, settings);
writer.WriteStartDocument(true);
writer.WriteComment("sample XML");
writer.WriteStartElement("root-node");
writer.WriteElementString("child-node", "The element value");
writer.WriteStartElement("next-child");
writer.WriteAttributeString("some-attribute", "A value");
writer.WriteAttributeString("another-attribute", "Another value");
writer.WriteValue("The next element value");
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();

我收到以下错误:

内存流不可扩展

当我用 Google 搜索时,我找不到解决方案。我不知道我的方法是否正确。请指导我进一步进行....

【问题讨论】:

    标签: c# xml visual-studio-2010 windows-phone-7


    【解决方案1】:

    当您创建 MemoryStream 时,您使用了用字节数组进行初始化的 ctor。这将创建一个不可调整大小的实例,该实例的最大容量与其初始化时一样大。

    要么使用不同的构造函数创建 MemoryStream,要么确保您写入的内容不大于原始字节 [] 大小。

    【讨论】:

    • 如何保证写入文件大于原始字节大小
    • 在走得太远之前,我相信您正在为 WP7 编码,在这种情况下,您需要从隔离存储中读取/写入。按照这个问题最后一个答案的例子:link
    猜你喜欢
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2011-05-09
    • 2011-12-17
    • 1970-01-01
    相关资源
    最近更新 更多