繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 有关XSLT输出结果的四个技巧

有关XSLT输出结果的四个技巧

2007-07-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:最近,我发现在许多讨论组中都问到一些如何在.NET平台下处理XSLT转换结果的问题,为了回答这些问题,本文将介绍几种方法,这些方法均用到了System.XML.Xsl命名空间下的XslTransform类。明确地说,我会介绍如何用...

最近,我发现在许多讨论组中都问到一些如何在.NET平台下处理XSLT转换结果的问题,为了回答这些问题,本文将介绍几种方法,这些方法均用到了System.XML.Xsl命名空间下的XslTransform类。明确地说,我会介绍如何用StringWriter类、 XMLTextWriter类、 XMLReader类和 MemoryStream类来捕获XSLT转换结果。在理解了在这些不同类中的处理过程之后,你可以选择一个最合适的用到你自己的程序中。

下面的例子会用到一个名为doc的XPathDocument类的实例(其中加载了需要转换的XML文档)和一个名为trans的XslTransform类的实例(负责执行从XML到HTML的转换)。转换的结果会被转化成一个字符串类型,而且为了显示和比较的目的,它将被写进一个TextBox Web Server控件的Text属性中去。生成XPathDocument类和XslTransform类的实例代码如下所示:XPathDocument doc =

new XPathDocument(Server.MapPath

("XML/Customers.XML"));

XslTransform trans = new XslTransform();

trans.Load(Server.MapPath("XSLT/Customers.xslt"));

用StringWriter类处理XSLT结果

StringWriter类继承了TextWriter抽象类中的功能,它使用方便,并能提供在幕后自动生成一个StringBuilder类的各种便利条件。StringBuilder类可以通过调用 ToString() 方法得到XSLT的转换结果。

以下是一个将StringWriter类和XslTransform类结合使用的例子://************ StringReader XSLT Output Capture

StringWriter sw = new StringWriter();

trans.Transform(doc,null,sw);

/*

A StringBuilder class is automatically written to

by the StringWriter class. To get the value in

the StringBuilder you can use the ToString()

method as shown below

*/

this.txtStringBuilder.Text = sw.ToString();

sw.Close();

责任编辑:admin
相关文章