在服务器端将XML转换成HTML(C#)

在服务器端将XML转换成HTML(C#)

 XML 清单(CD.xml):

 

view plain
  1. <?xml version="1.0" encoding="utf-8" ?>  
  2. <catalog>  
  3.     <cd>  
  4.         <title>Empire Burlesque</title>  
  5.         <artist>Bob Dylan</artist>  
  6.         <country>USA</country>  
  7.         <company>Columbia</company>  
  8.         <price>10.90</price>  
  9.         <year>1985</year>  
  10.     </cd>  
  11.     <cd>  
  12.         <title>Quxu</title>  
  13.         <artist>Genshui Yang</artist>  
  14.         <country>CHINA</country>  
  15.         <company>Chengshi</company>  
  16.         <price>12.90</price>  
  17.         <year>1987</year>  
  18.     </cd>  
  19. </catalog>  

 

XSL 清单(CD.xslt):

 

view plain
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
  3.     xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"  
  4. >  
  5.   <xsl:template match="/">  
  6.     <html>  
  7.       <body>  
  8.         <table border="2" bgcolor="yellow">  
  9.           <tr>  
  10.             <th>Title</th>  
  11.             <th>Artist</th>  
  12.           </tr>  
  13.           <xsl:for-each select="catalog/cd">  
  14.             <tr>  
  15.               <td>  
  16.                 <xsl:value-of select="title"/>  
  17.               </td>  
  18.               <td>  
  19.                 <xsl:value-of select="artist"/>  
  20.               </td>  
  21.             </tr>  
  22.           </xsl:for-each>  
  23.         </table>  
  24.       </body>  
  25.     </html>  
  26.   </xsl:template>  
  27. </xsl:stylesheet>  

 

服务器端后台代码(C#, Default.aspx.cs):

 

view plain
  1. using System.Web.UI.WebControls;  
  2. using System.Web.UI.WebControls.WebParts;  
  3. using System.Xml.Linq;  
  4. using System.Xml;  
  5. using System.Xml.Xsl;  
  6. using System.Text;  
  7. public partial class _Default : System.Web.UI.Page  
  8. {  
  9.     protected void Page_Load(object sender, EventArgs e)  
  10.     {  
  11.         if (Page.IsPostBack)  
  12.             return;  
  13.         XslCompiledTransform xslCT = new XslCompiledTransform();  
  14.         xslCT.Load(Server.MapPath("CD.xslt"));  
  15.         XmlDocument xmlDoc = new XmlDocument();  
  16.   
  17.         StringBuilder strB=new StringBuilder();  
  18.         XmlWriter xw = XmlWriter.Create(strB);  
  19.         xslCT.Transform(Server.MapPath("CD.xml"), xw);  
  20.         Response.Write(strB.ToString());  
  21.   
  22.     }  
  23. }  

 

Default.aspx 无需加任何代码.

运行Default.aspx页面, 显示结果如下:

Title Artist
Empire Burlesque BobDylan
Quxu  Genshui Yang
Logo
作者:Gezidan
出处:http://www.rixu.net    
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

你可能感兴趣的:(在服务器端将XML转换成HTML(C#))