您的位置:首页 > 其它

使用For XML与XSL(XSLT)配套快速输出查询结果到Web页面

2009-06-12 00:42 519 查看
该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明!

陈希章

原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/06/22/1227523.html

原文标题:使用For XML与XSL(XSLT)配套快速输出查询结果到Web页面

原文发表:2008/6/22 0:10:00

其实认真想一下,我们做程序开发的大部分工作都是针对数据的操作,其中很重要的一部分又是数据的展示。说到数据展示,无外乎先把数据读取出来,然后再通过一些程序逻辑组成客户呈现。

但是由于客户呈现可能是多种多样的,而且希望保持这种灵活性。那么一般的程序就很难适应这个情况。

SQL Server所支持的For XML技术可以把查询结果用XML返回,如果了解XML技术的朋友一定知道,XML可以直接与XSLT进行链接,实现快速的样式呈现切换。这就是本文讨论的重点,下面是一个例子。

 

页面定义的部分

 




Code




<%

@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="XML_XSLT._Default" %> 




 










    无标题页








    


    



        


    



    





 




 



添加两个命名空间先
using System.Data.SqlClient;

using System.Xml;
页面代码的部分

 




Code


private readonly string connectionString = "SERVER=(LOCAL);DATABASE=NORTHWIND;INTEGRATED SECURITY=TRUE";


protected void Page_Load(object sender, EventArgs e)






{


    if (!IsPostBack)




    

{


        SqlConnection conn = null;


        using (conn = new SqlConnection(connectionString))




        

{


            conn.Open();


            using (SqlCommand cmd = conn.CreateCommand())




            

{


                cmd.CommandText = "SELECT ProductID,ProductName FROM Products FOR XML AUTO,ELEMENTS,ROOT('Northwind')"; 




                XmlReader reader = cmd.ExecuteXmlReader();


                reader.Read();


                Xml1.DocumentContent = reader.ReadOuterXml();


                reader.Close();


                conn.Close();


            }


        }


    }








样式表的部分(保存为General.xslt,保存到根目录下)

 




Code







    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"







  


  


    




      这是一个产品列表


    




    



    


      


        


        


      


      


        



          


          


        


      


    
产品编号产品名称



            


          



            


          



  


 





 

最后输出的结果




作者:陈希章

出处:http://blog.csdn.net/chen_xizhang

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: