数据库和XML __ 从数据库中提取xml

本文展示了如何使用C#从数据库中提取XML数据,并通过XPathNavigator和XmlWriter将SQL查询结果转化为XML格式。同时,利用XSLT转换XML,生成HTML表格展示书籍列表。
摘要由CSDN通过智能技术生成

 

从数据库中提取xml

别忘了 引用

using System.Xml;

using System.Xml.XPath;

using System.Data.SqlClient;

-------------------------------------

 

protected void Page_Load(object sender, EventArgs e)

{

DataBaseXMl();

}

 

 

 

  /// <summary>

    /// 从数据库中提取xml

    /// </summary>

    public void DataBaseXMl()

    {

        string DB_conStrings = ConfigurationManager.ConnectionStrings["DB_study"].ConnectionString;

        XmlDocument x = new XmlDocument();

        XPathNavigator xpathnav = x.CreateNavigator();

        using (SqlConnection conn = new SqlConnection(DB_conStrings))

        {

            conn.Open();

            SqlCommand command = new SqlCommand("select * from book as book for xml auto,elements",conn);

            using (XmlWriter xw = xpathnav.PrependChild())

            {

                xw.WriteStartElement("books");

                using (XmlReader reader = command.ExecuteXmlReader())

                {

                    xw.WriteNode(reader, true);

                }

                xw.WriteEndElement();

            }

        }

        //Response.ContentType = "text/xml";

        //x.Save(Response.OutputStream);

        Xml1.XPathNavigator = xpathnav;

    }

--------------页面-----------------------------------------------

<asp:Xml ID="Xml1" runat="server" TransformSource="~/book.xsl"></asp:Xml>

----------------------------book.xsl---------------------------------------------

 

<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version="1.0"

    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

    <html>

    <body>

<h3>list of book</h3>

<table border="1">

<tr>

<th>编号</th>

<th>作者</th>

<th>名字</th>

</tr>

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

</table>

    </body>

    </html>

</xsl:template>

<xsl:template match="book">

<tr>

<td>

<xsl:value-of  select="book_Id"/> </td>

<td>

<xsl:value-of select="book_Author"/>  </td>

<td>

<xsl:value-of select="book_Name"/> </td>

</tr>

</xsl:template>

</xsl:stylesheet> 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值