В DataSet.WriteToXml отсутствует корневое пространство имен - PullRequest
0 голосов
/ 22 января 2009

1) Я делаю Dataset.WriteToXml (объект потока памяти) 2) Затем я создаю объект XMLDocument 3) Я тогда XMLDocument.Load (объект потока памяти)

Я получил исключение "Пространство имен корня XML не найдено".

Не содержит ли XML набора данных требуемое пространство имен?

Спасибо.

1 Ответ

1 голос
/ 22 января 2009

Вы перемещаете свой поток памяти перед тем, как пытаться загрузить его в XmlDocument?

DataSet ds = new DataSet();
using (SqlConnection connection = new SqlConnection("some connection string"))
using (SqlCommand command = new SqlCommand("select * from mytable", connection))
using (SqlDataAdapter adapter = new SqlDataAdapter(command))
{
    adapter.Fill(ds);
}

XmlDocument xml = new XmlDocument();
using (Stream stream = new MemoryStream())
{
    ds.WriteXml(stream);
    // We must reposition the memory stream before loading the xml
    stream.Position = 0;
    xml.Load(stream);
}
...