ASP.NET Tutorial/XML/DataSet

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

DataSet to XML

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="DataSetToXml" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form id="form1" runat="server">
       <asp:Xml ID="XmlControl" runat="server"></asp:Xml>
   
   </form>

</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Xml; using System.Web.Configuration; public partial class DataSetToXml : System.Web.UI.Page {

   protected void Page_Load(object sender, EventArgs e)
   {
   string connectionString = WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;
   string SQL = "SELECT * FROM authors WHERE city="Oakland"";
   SqlConnection con = new SqlConnection(connectionString);
   SqlCommand cmd = new SqlCommand(SQL, con);
   SqlDataAdapter adapter = new SqlDataAdapter(cmd);
   DataSet ds = new DataSet("AuthorsDataSet");
   con.Open();
   adapter.Fill(ds, "AuthorsTable");
   con.Close();
   XmlDataDocument dataDoc = new XmlDataDocument(ds);
   XmlControl.Document = dataDoc;
   XmlControl.TransformSource = "authors.xslt";
   }

} File: Web.config <?xml version="1.0"?> <configuration xmlns="http://schemas.microsoft.ru/.NetConfiguration/v2.0">

 <appSettings/>
 <connectionStrings>
   <add name="Pubs" connectionString="Data Source=localhost;Initial Catalog=pubs;Integrated Security=SSPI"/>
 </connectionStrings>
 <system.web>
   <compilation debug="true"/>
   <authentication mode="Windows"/>
 </system.web>

</configuration> File: authors.xslt <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

               version="1.0">

<xsl:template match="AuthorsDataSet">

The Author List

     <xsl:apply-templates select="AuthorsTable"/>

  Created through XML and XSLT

</xsl:template> <xsl:template match="AuthorsTable"> Name: <xsl:value-of select="au_lname"/>, <xsl:value-of select="au_fname"/>
Phone: <xsl:value-of select="phone"/> </xsl:template> </xsl:stylesheet></source>


Read XML file and feed into DataSet

   <source lang="csharp">

<%@ Import namespace="System.Data" %> <html>

 <head>
   <title>Read XML file</title>
 </head>
 <body>

Read XML file

     <asp:Label id="lblXMLFileName" runat="server" />

<asp:DataGrid id="dgServers" runat="server" /> </body>

</html> <script language="VB" runat="server"> Sub Page_Load(Source As Object, E As EventArgs)

 Dim strXMLFile As String = Server.MapPath("Data.xml")
 lblXMLFileName.Text = strXMLFile
 Dim objDataSet As New DataSet()
 objDataSet.ReadXml(strXMLFile)
 dgServers.DataSource = objDataSet.Tables(0).DefaultView
 dgServers.DataBind()

End Sub </script> File: ~\Data.xml <?xml version="1.0" standalone="yes"?> <CarList>

 <Car>
   <ModelName>A</ModelName>
   <Doors>2</Doors>
   <ColorList>
     <Color>A</Color>
     <Color>B</Color>
     <Color>C</Color>
   </ColorList>
 </Car>
 <Car>
   <ModelName>B</ModelName>
   <Doors>3</Doors>
   <ColorList>
     <Color>D</Color>
     <Color>E</Color>
     <Color>F</Color>
   </ColorList>
 </Car>

</CarList></source>