ASP.NET Tutorial/XML/DataSet
Содержание
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>