以构建步骤执行XSLT转换

时间:2011-08-05 21:14:18

标签: visual-studio xslt msbuild automation transform

在Visual Studio构建期间,我需要从另一个XML文件生成XML文件。对我来说很明显,XSLT模板和转换正是我所需要的。

我更喜欢这样做的方法是使用项目文件中的“自定义工具”属性。是否已有可用于此目的的内置工具?我的下一个选择可能是使用csproj的预构建步骤。同样,是否有一个(Visual Studio或MSBUILD)预先存在或预先安装的工具,我可以从预构建步骤调用它来执行此操作?

最后,如果需要,我可以修改.csproj文件本身以添加执行转换的MSbuild任务(我认为MSBuild带有这样的任务 - 如果不知道它们可以下载)。

总的来说,我只想知道完成这项工作的最简单方法,以及如何做到这一点。我已经知道如何编写XSL模板了。 :)

2 个答案:

答案 0 :(得分:20)

如果您使用的是VS2010,则可以在后期构建步骤中使用MSBuild 4的内置XslTransformation任务。

<Target Name="AfterBuild">
  <XslTransformation
    XslInputPath="transform.xslt"
    XmlInputPaths="in.xml"
    OutputPaths="out.xml" />
</Target>

答案 1 :(得分:1)

我个人会安装MSBuild Community Tasks并从项目设置中的PostBuild事件中调用msbuild.exe。

在想到XSLT文件的时候,我的脊椎发抖了! :P