创建示例 XML 文件
以下代码粘贴在记事本或其他的文本编辑器中,然后将该文件保存为 Q330602.xml:
<data>10/24/2002</data>
通过使用 Microsoft.NET Framework 类应用 XSLT 转换
<script type="text/javascript"></script>
- 以下代码粘贴在记事本或其他的文本编辑器中,然后保存该文件作为 DotNet.xslt:
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="http://my_domain_name/my_namespace">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:value-of select="user:ConvertDate(data)"/>
</xsl:template>
<msxsl:script implements-prefix="user" language="C#">
public string ConvertDate(XPathNodeIterator node)
{
DateTime dt = DateTime.Parse(node.Current.Value);
return dt.ToString("f");
}
</msxsl:script>
</xsl:transform>
- 在 Microsoft Visual Studio.NET 中创建新的 ASP.NET Web 名为 DateTimeDotNet 使用 Visual C#.NET 应用程序。
- 右键单击 WebForm 1.aspx ,设计器表面,然后单击 查看代码 以编辑 WebForm 1.aspx.cs 类模块。
- 使用 指令部分 WebForm 1.aspx.cs 中粘贴以下:
using System.Xml.Xsl;
using System.Xml.XPath;
- 将以下代码粘贴在 Page _ Load 事件中:
XPathDocument doc = new XPathDocument(this.MapPath("Q330602.xml"));
XslTransform transform = new XslTransform();
transform.Load(this.MapPath("DotNet.xslt"));
// Transform XML data.
transform.Transform(doc, null, Response.OutputStream);
transform.Transform (文档,null,Response.OutputStream); - 将更改保存到 WebForm 1.aspx.cs。
- 确保将 Q330602.xml 和 DotNet.xslt 文件创建项目位于同一文件夹中。
- 在 生成 菜单上单击 生成解决方案 。
- 启动 Microsoft Internet Explorer 并打开 WebForm 1.aspx 文件。 为此,指定以下 URL 其中 IISServerName 是 Microsoft Internet Information Services (IIS) 服务器的名称:
http://IISServerName/DateTimeDotNet/WebForm1.aspx
通过使用 MSXML 应用 XSLT 转换
<script type="text/javascript"></script>
- 将以下代码粘贴在记事本或其他的文本编辑器中,然后保存该文件作为 Msxml.xslt:
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="http://my_domain_name/my_namespace">
<msxsl:script language="VBScript" implements-prefix="user">
Function ConvertDate(nodeList)
ConvertDate = FormatDateTime( Left(nodeList(0).text, 10),1)
End Function
</msxsl:script>
<xsl:template match="/">
<xsl:value-of select="user:ConvertDate(data)"/>
</xsl:template>
</xsl:stylesheet>
- 创建新的 ASP.NET Web 应用程序项目使用 Visual C#.NET 来命名 DateTimeMSXml。
- 在 项目 菜单上单击 添加引用 。
- 在 COM 选项卡,选择 Microsoft XML、 v 3.0 。
- 单击 选择 ,然后单击 确定 。
- 右键单击 WebForm 1.aspx ,设计器表面,然后单击 查看代码 以编辑 WebForm 1.aspx.cs 类模块。
- 将以下代码粘贴到 Page _ Load event:
MSXML2.DOMDocument doc = new MSXML2.DOMDocumentClass();
doc.async = false;
doc.resolveExternals = false;
// Load XML document.
doc.load(this.MapPath("Q330602.xml"));
MSXML2.DOMDocument xsl = new MSXML2.DOMDocumentClass();
doc.async = false;
doc.resolveExternals = false;
// Load XSLT document.
xsl.load(this.MapPath("msxml.xslt"));
// Transform XML data.
string temp = doc.transformNode(xsl);
Response.Write(temp);
字符串临时 = doc.transformNode(xsl); Response.Write(Temp) ; - 保存更改到 WebForm 1.aspx.cs。
- 确保将 Q330602.xml 和 Msxml.xslt 文件创建项目的文件夹中。
- 在 生成 菜单上单击 生成解决方案 。