XML的XSL转换 - 简单的.NET示例?

时间:2011-05-09 18:13:09

标签: xml xslt transform

我有一个基于.NET的应用程序,它接收传入的XML文件。我想使用我拥有的XSL样式表将XML文件转换为HTML。这是我的过程...

  1. 从filesystem
  2. 中读取提交的XML文件
  3. 将XSL应用于XML以进行转换
  4. 将结果HTML打印为HTML格式
  5. 有没有人有任何示例代码演示如何实现此目的?谢谢。

3 个答案:

答案 0 :(得分:6)

以下是使用 MSDN .NET documentation <的 Transform() 方法的XslCompiledTransform 的一个非常简短的示例/ strong>类是.NET的标准部分(在 System.Xml.Xsl 命名空间中实现):

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the FileStream.
using (FileStream fs = new FileStream(@"c:\data\output.xml", FileMode.Create))
{
   // Execute the transformation.
   xslt.Transform(new XPathDocument("books.xml"), null, fs);
}

还有待完成的工作是调用浏览器并将流fs中包含的转换结果传递给它。如果效率很重要,可以选择在文件流上使用内存流。

您应该熟悉 Transform() *方法的其他重载并选择最适合您的方法

答案 1 :(得分:1)

您实际上并未说过您正在使用哪种XSLT处理器。至少有三种:Microsoft支持XSLT 1.0,而Saxon和XQSharp都支持XSLT 2.0。不幸的是,它们都有不同的API。

答案 2 :(得分:0)

来自某个相关帖子的一个很好的例子 - Passing null to `XslCompiledTransform.Transform` method