Почему пример msdn для DataSet.ReadXml (stream) не работает для.NET 1.0?

Мне интересно, если бы использование потока было бы быстрее, чтобы прочитать файл XML, а затем вставить в SQLCE (в отличие от чтения данных из файла). Итак, я попробовал этот код:

DataSet dset = new DataSet("New DataSet");
System.IO.FileStream streamRead = new System.IO.FileStream(filePathName, System.IO.FileMode.Open);
dset.ReadXml(streamRead);

... отсюда: http://msdn.microsoft.com/en-us/library/55hehd8c(v=vs.80).aspx

... но получите эти ошибки компиляции:

"Аргумент" 1 ": невозможно преобразовать из" System.IO.FileStream "в" System.Xml.XmlReader "" -and: "Лучший перегруженный метод соответствует для" System.Data.DataSet.ReadXml (System.Xml.XmlReader) "имеет несколько неверных аргументов"

Это потому, что самый ранний пример (ссылка выше) предназначен для.NET 2.0, а я застрял с 1.0? IOW, перегрузка потока не была доступна в 1.0?

ОБНОВИТЬ

Я также хотел проверить это:

StringReader sr = new StringReader(filePathName);
DataSet dset = new DataSet("duckBills");
dset.ReadXml(sr);

... отсюда: http://knowdotnet.com/articles/datasetreadxml.html, но получил аналогичное сообщение об ошибке; Я думаю, что застревание на.NET 1.0, вероятно, моя проблема...

1 ответ

Решение

Использование

новый XmlTextReader(Stream)

DataSet dset = new DataSet("New DataSet");
using (System.IO.FileStream streamRead = new System.IO.FileStream(filePathName, System.IO.FileMode.Open))
{
    XmlTextReader reader = new XmlTextReader(streamRead);
    dset.ReadXml(reader);
}
Другие вопросы по тегам