Considerations for XmlReader Reader reading memory stream MemoryStream

Source: Internet
Author: User
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



Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.