Stream|xml
The MemoryStream object provides a way to create a stream without having to do Io, XmlTextWriter and XmlReader provide a way to write and read XML content quickly, combining MemoryStream, XmlTextWriter can be constructed directly in memory and read with XmlReader.
To write XML using MemoryStream and XmlTextWriter, you need to be aware of two points: Xmltextwriter.flush operation and resetting memorystream.position = 0.
C#
<%@ Page language= "C #"%>
<%@ Import namespace= "System.Xml"%>
<%@ Import namespace= "System.IO"%>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 transitional//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<script runat= "Server" >
protected void Button1_Click (object sender, EventArgs e)
{
Response.Clear ();
Response.ContentType = "Text/xml";
MemoryStream msXml = new MemoryStream ();
XmlTextWriter xmlWriter = new XmlTextWriter (MSXML, Encoding.UTF8);
Xmlwriter.writestartelement ("RSS");
Xmlwriter.writeattributestring ("Version", "2.0");
Xmlwriter.writestartelement ("channel");
Xmlwriter.writeelementstring ("title", "" Mengxian The Wonderful World ");
Xmlwriter.writeelementstring ("link", "http://dotnet.aspx.cc/Rss.aspx");
Xmlwriter.writeelementstring ("description", "NET development technology.") ");
Xmlwriter.writeelementstring ("Language", "ZH-CN");
Xmlwriter.writeelementstring ("Copyright", "copyright 1999-2007" Mengxian The Wonderful World ");
Xmlwriter.writeelementstring ("Managingeditor", "amxh[at]21cn.com");
Xmlwriter.writestartelement ("image");
Xmlwriter.writeelementstring ("title", "" Mengxian The Wonderful World ");
Xmlwriter.writeelementstring ("width", "144");
Xmlwriter.writeelementstring ("height", "35");
Xmlwriter.writeelementstring ("link", "http://dotnet.aspx.cc/");
xmlwriter.writeelementstring ("url", "/xrssfile/2006-12/28/2006122823304840.gif");
Xmlwriter.writeendelement ();
Iterate through the list of database contents, ignoring
while (Objreader.read ())
//{
Xmlwriter.writestartelement ("item");
Xmlwriter.writeelementstring ("title", objreader.getstring (0));
Xmlwriter.writeelementstring ("description", objreader.getstring (1));
Xmlwriter.writeelementstring ("link", "http://dotnet.aspx.cc/article/a933b187-06c3-4263-9eec-414a54d9c815/read.aspx");
Xmlwriter.writeelementstring ("pubdate", Objreader.getdatetime (3). ToString ("G"));
Xmlwriter.writeendelement ();
//}
Objreader.close ();
Xmlwriter.writestartelement ("item");
Xmlwriter.writeelementstring ("title", "Import an Access database directly into an Excel file in asp.net 2.0");
Xmlwriter.writeelementstring ("description", "Import an Access database directly into an Excel file in asp.net 2.0");
Xmlwriter.writeelementstring ("link", "http://dotnet.aspx.cc/article/a933b187-06c3-4263-9eec-414a54d9c815/read.aspx");
Xmlwriter.writeelementstring ("pubdate", "Sat, Dec 2006 09:39:58 GMT");
Xmlwriter.writeendelement ();
Xmlwriter.writeendelement ();
Xmlwriter.writeendelement ();
Xmlwriter.flush (); Make sure the writer is updated to the stream;
msxml.position = 0; Reset the position of the stream so that we can read from scratch
XmlReader XmlReader = xmlreader.create (MSXML);
while (Xmlreader.read ())
{
if (xmlreader.name = "RSS")
{
Response.Write (Xmlreader.readouterxml ());
}
}
Response.End ();
Msxml.close ();
Xmlwriter.close ();
Xmlreader.close ();
}
</script>
<title>xmlreader Reader read memory stream MemoryStream considerations </title>
<body>
<form id= "Form1" runat= "Server" >
<asp:button id= "Button1" runat= "server" text= "read Data"/>
</form>
</body>
vb.net
Protected Sub button1_click (ByVal sender as Object, ByVal e as EventArgs)
Response.Clear
Response.ContentType = "Text/xml"
Dim msXml as MemoryStream = New MemoryStream
Dim XmlWriter as XmlTextWriter = New XmlTextWriter (msXml, Encoding.UTF8)
Xmlwriter.writestartelement ("RSS")
Xmlwriter.writeattributestring ("Version", "2.0")
Xmlwriter.writestartelement ("channel")
Xmlwriter.writeelementstring ("title", "" Mengxian The Wonderful World ")
Xmlwriter.writeelementstring ("link", "http://dotnet.aspx.cc/Rss.aspx")
Xmlwriter.writeelementstring ("description", "NET development technology.") ")
Xmlwriter.writeelementstring ("Language", "ZH-CN")
Xmlwriter.writeelementstring ("Copyright", "copyright 1999-2007" Mengxian The Wonderful World ")"
Xmlwriter.writeelementstring ("Managingeditor", "amxh[at]21cn.com")
Xmlwriter.writestartelement ("image")
Xmlwriter.writeelementstring ("title", "" Mengxian The Wonderful World ")
Xmlwriter.writeelementstring ("width", "144")
Xmlwriter.writeelementstring ("height", "35")
Xmlwriter.writeelementstring ("link", "http://dotnet.aspx.cc/")
xmlwriter.writeelementstring ("url", "/xrssfile/2006-12/28/2006122823304840.gif")
Xmlwriter.writeendelement
Xmlwriter.writestartelement ("item")
Xmlwriter.writeelementstring ("title", "Import an Access database directly into an Excel file in asp.net 2.0")
Xmlwriter.writeelementstring ("description", "Import an Access database directly into an Excel file in asp.net 2.0")
Xmlwriter.writeelementstring ("link", "http://dotnet.aspx.cc/article/a933b187-06c3-4263-9eec-414a54d9c815/read.aspx")
Xmlwriter.writeelementstring ("pubdate", "Sat, Dec 2006 09:39:58 GMT")
Xmlwriter.writeendelement
Xmlwriter.writeendelement
Xmlwriter.writeendelement
Xmlwriter.flush
msxml.position = 0
Dim XmlReader as XmlReader = Xmlreader.create (msXml)
While Xmlreader.read
If xmlreader.name = "RSS" Then
Response.Write (Xmlreader.readouterxml)
End If
End While
Response.End
Msxml.close
Xmlwriter.close
Xmlreader.close
End Sub