2010-11-13 4 views
1

Après avoir écrit le document XML dans le flux de mémoire. Quand je veux l'employer en employant XMLDocuments.Load, je dois remettre la position à 0.question de la voie de mémoire

Je me demande s'il y a n'importe quelle manière standard de le faire?

Répondre

2

Eh bien la façon la plus simple est juste:

stream.Position = 0; 

Je ne suis pas sûr de ce que vous êtes après au-delà. Vous pouvez utiliser la méthode Seek, mais personnellement, je trouve la propriété Position pour être beaucoup plus simple.

Avez-vous vraiment besoin de passer par un flux en premier lieu? Si vous avez déjà obtenu le XmlDocument, pourquoi ne pas simplement l'utiliser?

+0

J'utilise XMLDocument.load pour charger un document XML à partir d'un flux de mémoire écrit par un autre module. Donc, je dois redéfinir la position du flux de mémoire à 0. – user496949

+0

@ user496949: Bien, alors vous réglez 'stream.Position' sur 0 selon ma réponse. Quoi d'autre demandez-vous? –

+0

That'st. Merci Jon – user496949

2

Voilà à peu près comment vous devez le faire. La position doit être remise à 0, car après l'écriture du document dans le flux, le flux est positionné à la fin, prêt à ajouter plus de données. Définir la position sur 0 "rembobine" le flux de façon efficace, de sorte que vous le relisiez depuis le début.

Ceci est un modèle d'utilisation normal et attendu, si vous faites quelque chose comme ça de toute façon.