如何将传递节点设置为通过使用 Visual C#.NET 内联 XSLT 脚本函数
2009-09-18 16:00
761 查看
创建示例 XML 文件
以下代码粘贴在记事本或其他的文本编辑器中,然后将该文件保存为 Q330602.xml:
[code]<data>10/24/2002</data>
通过使用 Microsoft.NET Framework 类应用 XSLT 转换
以下代码粘贴在记事本或其他的文本编辑器中,然后保存该文件作为 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 中粘贴以下:
[code]using System.Xml.Xsl; using System.Xml.XPath;
[/code]
将以下代码粘贴在 Page _ Load 事件中:
[code]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);
[/code]
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) 服务器的名称:
[code]http://IISServerName/DateTimeDotNet/WebForm1.aspx
[/code]
通过使用 MSXML 应用 XSLT 转换
将以下代码粘贴在记事本或其他的文本编辑器中,然后保存该文件作为 Msxml.xslt:[code]<?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>
[/code]
创建新的 ASP.NET Web 应用程序项目使用 Visual C#.NET 来命名 DateTimeMSXml。
在 项目 菜单上单击 添加引用 。
在 COM 选项卡,选择 Microsoft XML、 v 3.0 。
单击 选择 ,然后单击 确定 。
右键单击 WebForm 1.aspx ,设计器表面,然后单击 查看代码 以编辑 WebForm 1.aspx.cs 类模块。
将以下代码粘贴到 Page _ Load event:
[code]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);
[/code]
字符串临时 = doc.transformNode(xsl); Response.Write(Temp) ;
保存更改到 WebForm 1.aspx.cs。
确保将 Q330602.xml 和 Msxml.xslt 文件创建项目的文件夹中。
在 生成 菜单上单击 生成解决方案 。
source: http://support.microsoft.com/kb/330602/zh-cn
[/code]
相关文章推荐
- 如何通过使用 ADO.NET 2005 和 Visual C# 2005 或使用 ADO.NET 和 Visual C# .NET 连接到数据库并运行命令
- 如何通过使用窗体身份验证和 Visual C#.NET 对 Active Directory 验证身份
- 如何使用 Visual C# 2005 或 Visual C# .NET 通过 DataSet 对象更新数据库
- 如何使用 Visual C# 2005 或 Visual C# .NET 通过 DataSet 对象更新数据库
- 如何通过使用 Visual C#.net 将原始数据发送到打印机
- 如何使用 AllowPartiallyTrustedCallers 属性来调用具有一个强名称从 Web 页通过使用 Visual C#.NET、 Visual C# 2005年或更高版本的程序集
- 如何使用 Visual C# .NET 处理 Excel 事件
- ASP.NET 2005 C#如何在TreeView中设置节点之间的间距,节点上下间距?
- 如何使用 ADO.NET 和 Visual C# .NET 连接到数据库并运行命令
- 如何使用 WebBrowser 控件在 Visual C# 2005 或 Visual C# .NET 中打开 Office 文档
- 如何使用 WebBrowser 控件在 Visual C# 2005 或 Visual C# .NET 中打开 Office 文档
- 如何使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程
- 如何使用 ADO.NET 和 Visual C# .NET 以编程方式创建 SQL Server 数据库
- 如何通过使用 ADOX 和 VisualC # .NET 创建 Access 数据库
- 如何使用 ASP.NET 和 Visual C# .NET 向浏览器写入二进制文件
- 如何通过使用 ADOX 和 VisualBasic.NET 创建一个 MicrosoftAccess 数据库
- [转载]如何使用 Visual C# 2005 或 Visual C# .NET 向 Excel 工作簿传输数据
- 如何循环并通过使用 ASP.NET 和 VisualC # .NET 检查 DataGrid 列中 CheckBox 控件值
- 如何使用 Visual C# 2005 或 Visual C# .NET 向 Excel 工作簿传输数据
- 如何使用 Visual C# .NET 创建用于窗体身份验证的密钥