Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XmlDocument.Load error 
:(
    Опции темы
hug
Дата 30.7.2008, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 27.7.2007

Репутация: нет
Всего: нет



Добрый День. 
Проблема такова:
Вылетает Эксепшн при попытке загрузки memorystream с xml в XmlDocument
Так работает
Код

string s = new StreamReader(data).ReadToEnd();
doc.LoadXml(s);

А так уже нет
Код

data.Seek(0, System.IO.SeekOrigin.Begin);
doc.Load(data);

Также пробовал через сохранение стрима в файл. Тоже все работает.
Xml валидный ( проверял ie).
Замучился уже. Может кто подскажет


PM MAIL   Вверх
mihryak
Дата 30.7.2008, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



а эксепшн с грифом "совершенно секретно"? ;)
PM MAIL ICQ   Вверх
hug
Дата 30.7.2008, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 27.7.2007

Репутация: нет
Всего: нет



Root element is missing
PM MAIL   Вверх
mihryak
Дата 30.7.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



нормально загружается из MemoryStream
Код

            using (Stream fileStream = File.OpenRead(@"c:\test.xml"))
            using (Stream memoryStream = new MemoryStream((int) fileStream.Length))
            {
                byte[] buffer = new byte[1024];
                while (true)
                {
                    int n = fileStream.Read(buffer, 0, buffer.Length);
                    if (n == 0)
                    {
                        break;
                    }
                    memoryStream.Write(buffer, 0, n);
                }

                memoryStream.Seek(0, SeekOrigin.Begin);
                XmlDocument doc = new XmlDocument();
                doc.Load(memoryStream);
                
                Console.WriteLine(doc.DocumentElement.OuterXml);
            }

проблема не в этом месте
что за xml, как заполняется MemoryStream?
PM MAIL ICQ   Вверх
hug
Дата 30.7.2008, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 27.7.2007

Репутация: нет
Всего: нет



xml валидный.
читается из файла.
Как заполняется 
Код

fs = new FileStream(name, FileMode.Open, FileAccess.Read, FileShare.None);
fs .Seek(0, SeekOrigin.Begin);
byte[] buffer = new byte[32768];
data = new MemoryStream();
while (true)
{
                int read = sr.Read(buffer, 0, buffer.Length);
                if (read <= 0)
                {
                    return;
                }
                data.Write(buffer, 0, read);
}
data.Position = 0;

PM MAIL   Вверх
mihryak
Дата 30.7.2008, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



хм...
Код

                if (read <= 0)
                {
                    return;
                }

а здесь точно надо выходить из метода?  smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.