Hi mc,

das (memStrm.CanWrite) habe ich nur drin um zu sehen, ob der Stream noch offen ist.
Wenn ich .Flush() oder .Close() einsetze wird der Stream geschlossen und 
myDoc.Load(memStrm) geht nicht mehr. Kann ich den Stream zum laden irgendwie wieder 
�ffnen?

Gru�
Michael

-----Urspr�ngliche Nachricht-----
Von: Christian Mairoll (Anti-Trojan.NET) [mailto:[EMAIL PROTECTED]] 
Gesendet: Freitag, 27. September 2002 16:52
An: aspDEdotnet
Betreff: [aspdedotnet] RE: Kombination von MemoryStream und XmlTextWriter, XmlDocument


warum willst du denn nochmal rein schreiben?

if (memStrm.CanWrite)

was z�hlt ist doch, da� du die daten lesen kannst.

ohne .Flush() oder .Close() werden die daten nicht in den stream �bertragen, daher 
kann auch nichts gefunden werden.


gr�sse

mc [www.emsi.at]

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]] On Behalf 
> Of Mahler Michael
> Sent: Friday, September 27, 2002 4:47 PM
> To: aspDEdotnet
> Subject: [aspdedotnet] Kombination von MemoryStream und 
> XmlTextWriter, XmlDocument
> 
> 
> Hallo Leute,
> 
> stehe gerade wieder vor einem weiteren Problem.
> Ich versuche folgende Zeilen bei mir zum laufen zu bringen. Ziel ist 
> es ein XNM-Document in einem MemoryStream anzulegen und anschlei�end 
> als XmlDocument zur�ckzugeben.
> 
> MemoryStream memStrm = new MemoryStream();
> XmlTextWriter writer = null;
> writer = new XmlTextWriter (memStrm , System.Text.Encoding.UTF8); 
> writer.Formatting = Formatting.Indented;
> writer.WriteStartDocument();
> String PItext="type='text/xsl' href='book.xsl'"; 
> writer.WriteProcessingInstruction("xml-stylesheet", PItext); 
> writer.WriteDocType("book", null , null, "<!ENTITY h 'hardcover'>"); 
> writer.WriteComment("sample XML");
> writer.WriteStartElement("book"); writer.WriteAttributeString("genre", 
> "novel"); writer.WriteAttributeString("ISBN", "1-8630-014");
> writer.WriteElementString("title", "The Handmaid's Tale");
> writer.WriteStartElement("style");
> writer.WriteEntityRef("h");
> writer.WriteEndElement(); 
> writer.WriteElementString("price", "19.95");
> writer.WriteCData("Prices 15% off!!");
> writer.WriteEndElement();
> writer.WriteEndDocument();
> 
> writer.Flush();
> writer.Close();
> 
> XmlDocument myDoc = new XmlDocument();
> if (memStrm.CanWrite)
> {
> myDoc.Load(memStrm);
> }
> return myDoc;
> 
> 
> Wenn ich
> writer.Flush();
> writer.Close(); 
> mit einsetze, wird auch der MemoryStream geschlossen und ich 
> kann nicht auf ihn zugreifen..
> 
> Lase ich die 2 Zeilen weg, bekomme ich die folgende Meldung:
> "System.Xml.XmlException: Das Stammelement ist nicht vorhanden"
> 
> 
> Gru�
> Michael Mahler
> 
> 
> 
> | [aspdedotnet] als [EMAIL PROTECTED] subscribed 
> | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie 
> | k�nnen sich unter folgender URL an- und abmelden: 
> | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
> 


| [aspdedotnet] als [EMAIL PROTECTED] subscribed 
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv Sie 
| k�nnen sich unter folgender URL an- und abmelden: 
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp

| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp

Antwort per Email an