在Visual Studio构建期间,我需要从另一个XML文件生成XML文件。对我来说很明显,XSLT模板和转换正是我所需要的。
我更喜欢这样做的方法是使用项目文件中的“自定义工具”属性。是否已有可用于此目的的内置工具?我的下一个选择可能是使用csproj的预构建步骤。同样,是否有一个(Visual Studio或MSBUILD)预先存在或预先安装的工具,我可以从预构建步骤调用它来执行此操作?
最后,如果需要,我可以修改.csproj文件本身以添加执行转换的MSbuild任务(我认为MSBuild带有这样的任务 - 如果不知道它们可以下载)。
总的来说,我只想知道完成这项工作的最简单方法,以及如何做到这一点。我已经知道如何编写XSL模板了。 :)
答案 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