---
title: "XmlTextReader & XmlTextWriter"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/51487-xmltextreader-xmltextwriter"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "peterbladh"
published: "2002-08-27T18:08:11.000Z"
updated: "2002-08-28T13:33:27.000Z"
replies: 5
views: 229
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/51487-xmltextreader-xmltextwriter"
---

# XmlTextReader & XmlTextWriter

## #1 — peterbladh, 2002-08-27T18:08Z

Hej

Jag försöker först skriva lite xml med XmlTextWriter och sedan läsa den med XmlTextReader. En väg att gå är att skriva till en fil, stänga writern och sedan öppna filen med readern (vilket går fint). En annan variant är att skriva till en Stream (har bla testat MemoryStream), men detta får jag inte att fungera. Strömmen verkar vara tom när jag försköker läsa den.
Har någon erfarenhet av detta?

En annan fråga är oxå hur man snabbt kan få hela innehållet i XmlTextReader eller XmlDocument till en sträng.

Tack på förahand!

Permalänk: https://www.webforum.nu/p/51487

## #2 — renholm, 2002-08-27T19:00Z

hej, skulle man kunna få se lite kod. Och i vilket syfte vill du göra om hela XML dokumentet till en sträng?

Permalänk: https://www.webforum.nu/p/764060

## #3 — peterbladh, 2002-08-28T06:41Z

Syftet är att skicka det över en socket.
Man kanske kan använda en NetworkStream? 
(återkommer med kod)

Permalänk: https://www.webforum.nu/p/764273

## #4 — peterbladh, 2002-08-28T07:16Z

Här kommer lite kod:

Stream stream = new MemoryStream();
			
			XmlTextWriter xtw = new XmlTextWriter(stream, Encoding.UTF8);
			xtw.Formatting = Formatting.Indented;
			xtw.Indentation = 4;
			xtw.WriteStartDocument();
			xtw.WriteStartElement("root");
			xtw.WriteStartElement("Command");
			xtw.WriteString("Connect");
			xtw.WriteEndElement();
			xtw.WriteEndElement();
			xtw.WriteEndDocument();
					
			XmlTextReader xtr = new XmlTextReader(stream);
			try
			{
				if (!xtr.EOF)
					while(xtr.Read())
						DebugWL(xtr.Name);
			}
			catch(Exception E)
			{
				DebugWL(E.Message);
			}

			xtw.Close(); xtr.Close();

... det blir fel på raden: while(xtr.Read())
felet är: root element is missing
och kollar jag längden på strömmen så är den 0 (noll)

Permalänk: https://www.webforum.nu/p/764284

## #5 — peterbladh, 2002-08-28T11:43Z

Hittade felet!

xtw.Flush();
stream.Position = 0;

måste komma innan XmlTextReader initieringen!

Permalänk: https://www.webforum.nu/p/764463

## #6 — renholm, 2002-08-28T13:33Z

ok, bra att du redovisar felet, i förebyggande syfte för andra.

Permalänk: https://www.webforum.nu/p/764514

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/51487-xmltextreader-xmltextwriter
