2010-11-13 2 views
1

После записи XML-документа в поток памяти. Когда я захочу использовать его с помощью XMLDocuments.Load, мне нужно установить позицию на 0.memystream question

Мне интересно Если у вас есть стандартный способ сделать это?

ответ

2

Ну, самый простой способ это просто:

stream.Position = 0; 

Я не уверен, что вы после этого дальше. You может использовать метод Seek, но лично я считаю, что Position собственности будет намного проще.

Вам обязательно нужно пройти через поток в первую очередь? Если у вас уже есть , тоXmlDocument, почему бы просто не использовать это?

+0

Я использую XMLDocument.load для загрузки XML-документа из потока памяти, написанного другим модулем. Поэтому я должен вернуть позицию потока памяти в 0. – user496949

+0

@ user496949: Правильно, поэтому вы устанавливаете 'stream.Position' равным 0 в соответствии с моим ответом. Что еще вы просите? –

+0

That'st. Спасибо, Джон – user496949

2

Это в значительной степени, как вам нужно это делать. Позиция должна быть установлена ​​на 0, потому что после записи документа в поток поток помещается в конец, готов к добавлению большего количества данных. Установка позиции на 0 эффективно «перематывает» поток, так что вы будете читать его обратно с самого начала.

Это нормальный и ожидаемый шаблон использования, если вы все равно делаете что-то подобное.