Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Прогресс чтения XML файла через XmlReader  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
Есть большие XML, которые парсятся XmlReader и загружаются в БД десятки минут, хочу в лог выводить 10%,20% и т.д.
Можно ли узнать сколько байт прочитал XmlReader? Узнать размер файла можно сразу, а вот сколько прочитал байт XMLreade я не нашел
13 дек 18, 14:54    [21763047]     Ответить | Цитировать Сообщить модератору
 Re: Прогресс чтения XML файла через XmlReader  [new]
Konst_One
Member

Откуда:
Сообщений: 11493
если читаешь построчно через ReadLine() , то сам можешь определить оценочно
13 дек 18, 14:58    [21763055]     Ответить | Цитировать Сообщить модератору
 Re: Прогресс чтения XML файла через XmlReader  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
XML реадер читает блоками сам.
я разобрался. как только отправил пост :).
нужно смотреть Position у стрима которым инициализируется XmlReader при создании.
13 дек 18, 15:04    [21763069]     Ответить | Цитировать Сообщить модератору
 Re: Прогресс чтения XML файла через XmlReader  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 3605
barrabas,

только вот Position это позиция буфера чтения, а не самого Reader'а, как я понимаю чтения потока может завершиться несколько раньше, чем чтение самого Xml содержимого. Но разница должна быть не большой
13 дек 18, 15:52    [21763148]     Ответить | Цитировать Сообщить модератору
 Re: Прогресс чтения XML файла через XmlReader  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
barrabas,
А парсите зачем?
Тип поля базе какой
13 дек 18, 15:57    [21763157]     Ответить | Цитировать Сообщить модератору
 Re: Прогресс чтения XML файла через XmlReader  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
Petro123
barrabas,
А парсите зачем?
Тип поля базе какой

что-то я не понял в вопросе или может меня не так поняли...
есть большие (гигобайты) XML-файлы с данными об операциях по картам, из нужно прочесть (распарсить) и записать данные в таблицы БД. термин парсинг я использовал для обозначения чтения XML.
13 дек 18, 16:57    [21763231]     Ответить | Цитировать Сообщить модератору
 Re: Прогресс чтения XML файла через XmlReader  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
Roman Mejtes
barrabas,

только вот Position это позиция буфера чтения, а не самого Reader'а, как я понимаю чтения потока может завершиться несколько раньше, чем чтение самого Xml содержимого. Но разница должна быть не большой

это понятно.
даже глубже пришлось проваливаться, т.к. файлы зазипованы и я их читаю не распаковывая заранее через System.IO.Compression, то рабочий position есть только у DeflateStream.BaseStream
13 дек 18, 17:00    [21763233]     Ответить | Цитировать Сообщить модератору
 Re: Прогресс чтения XML файла через XmlReader  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
в принципе все отлично работает, всем спасибо :)
13 дек 18, 17:00    [21763234]     Ответить | Цитировать Сообщить модератору
 Re: Прогресс чтения XML файла через XmlReader  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
barrabas,
Понятно.
Просто если гигабайты, то есть xmlBulkLoad который в сиквел загружает в разы быстрее и без парсинга. А потом одним select insert в свою таблу.
13 дек 18, 17:14    [21763261]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить