Я подозреваю, что это связано с тем, что вы создаете 2 считывателя в потоке (XmlReader
и StreamReader
). XmlReader
начинает буферизацию данных из потока, как только вы его создаете, поэтому, когда StreamReader
начинает чтение из того же потока, он пропускает часть данных, которые были буферизованы XmlReader
.
Вы не можете использовать 2 считывателя в одном потоке, они будут конфликтовать друг с другом.