【发布时间】:2009-07-17 17:23:31
【问题描述】:
我需要从一个 XML 数据文件生成多个 HTML 报告文件,并且我使用的是 C# (.NET 3.5)。我基本上需要 XML 文件中每个特定子树的 HTML 报告(但它们必须包含一些父信息)。
我决定使用 XSLT,因为它似乎是解决我的问题的最优雅的解决方案。然后我可以使用 .NET XslTransform.Transform 方法来创建我的 HTML 文件......或者我可以吗?
从 MSDN 上阅读,似乎即使在 .NET 3.5 中 XslTransform 也仅支持 XSLT 1.0,尽管 2.0 已经存在了一段时间。只有在 XSLT 2.0 中才能从单个 XSLT 文件输出多个文档。
对于我的问题,您能想到什么解决方法吗?
【问题讨论】:
-
问题出在哪里?我假设 .Net 会将 XML 文档解析为 DOM 表示(这是昂贵的部分)。然后,您只需创建多个 XSLT 模板并将它们应用到同一个 DOM。从可维护性的角度来看,这比将输出文件名存储在 XSLT 中要好得多。