Создание XML-файла в приложении Windows Phone 7 с использованием Visual Studio 2010 C # - PullRequest
1 голос
/ 26 марта 2011

Я успешно создал XML с использованием Visual Studio 2008, но тот же синтаксис не поддерживается в приложении Windows Phone 7 в Visual Studio 2010.

Я использую следующие пространства имен:

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 это, я не могу найти решение.Я не знаю, правильный ли мой подход или нет.Пожалуйста, направьте меня, чтобы продолжить ...

1 Ответ

2 голосов
/ 26 марта 2011

Когда вы создали MemoryStream, вы использовали ctor, который инициализируется байтовым массивом.Это создает экземпляр без возможности изменения размера, максимальная емкость которого равна объему, на который он был инициализирован.

Либо создайте MemoryStream с помощью другого конструктора, либо убедитесь, что записываемое вами содержимое не превышает исходный байт[] размер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...