此示例是使用xslt对xml文件转换格式的。
xmlfile1.xml
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<xinwen>
<news>
<news_id>1</news_id>
<news_title>上海国际艺术节开幕</news_title>
<news_author>王建宁</news_author>
<news_ly>原创</news_ly>
<news_content>第十三届中国上海国际艺术节将于11月18日举办。</news_content>
<news_adddate>2013-10-18</news_adddate>
</news>
<news>
<news_id>2</news_id>
<news_title>上海首批公租房下月起招租</news_title>
<news_author>王水宁</news_author>
<news_ly>转载</news_ly>
<news_content>两小区分别位于徐汇华庭和上体馆附近。</news_content>
<news_adddate>2013-10-18</news_adddate>
</news>
</xinwen>
xsltfile.xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="xinwen">
<html>
<body>
<table border="1">
<tr>
<th>新闻编号</th>
<th>新闻标题</th>
<th>新闻作者</th>
<th>新闻类别</th>
<th>新闻内容</th>
<th>发布日期</th>
</tr>
<xsl:for-each select="news">
<tr>
<td>
<xsl:value-of select="news_id"/>
</td>
<td>
<xsl:value-of select="news_title"/>
</td>
<td>
<xsl:value-of select="news_author"/>
</td>
<td>
<xsl:value-of select="news_ly"/>
</td>
<td>
<xsl:value-of select="news_content"/>
</td>
<td>
<xsl:value-of select="news_adddate"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
webform1.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="test15_1.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Xml ID="Xml1" runat="server"></asp:Xml>
<asp:Button ID="Button1" runat="server" Text="文件转换" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
webform1.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace test15_1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(Server.MapPath("XMLFile1.xml"));
this.Xml1.Document = doc;
}
protected void Button1_Click(object sender, EventArgs e)
{
System.Xml.XmlDocument xDoc = new System.Xml.XmlDocument();
xDoc.Load(Server.MapPath("XMLFile1.xml"));
System.Xml.Xsl.XslTransform xslt1 = new System.Xml.Xsl.XslTransform();
xslt1.Load(Server.MapPath("XSLTFile1.xslt"));
this.Xml1.Document = xDoc;
this.Xml1.Transform = xslt1;
}
}
}