如何使用MSBuild创建XML文件?

前端之家收集整理的这篇文章主要介绍了如何使用MSBuild创建XML文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在MSBuild任务中创建一个XML文件

我有一个文件列表:

  1. <CreateItem Include="$(TestsAssembliesOutputDir)\Emidee.*.Tests.dll">
  2. <Output ItemName="TestsAssemblies" TaskParameter="Include" />
  3. </CreateItem>

我想创建一个如下所示的XML:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xunit>
  3. <assemblies>
  4. <assembly filename="PATH OF FILE #1" shadow-copy="true" />
  5. <assembly filename="PATH OF FILE #2" shadow-copy="true" />
  6. </assemblies>
  7. </xunit>

我该如何实现呢?

提前致谢

麦克风

快而脏
  1. <Target Name="CreateXml">
  2. <ItemGroup>
  3. <TestAssembly Include="$(TestsAssembliesOutputDir)\Emidee.*.Tests.dll" />
  4. <Line Include="line01"><Text>&lt;xunit&gt;</Text></Line>
  5. <Line Include="line02"><Text>&lt;assemblies&gt;</Text></Line>
  6. <Line Include="line03"><Text>&lt;assembly filename=&quot;%(TestAssembly.Identity)&quot; shadow-copy=&quot;true&quot; /&gt;</Text></Line>
  7. <Line Include="line04"><Text>&lt;/assemblies&gt;</Text></Line>
  8. <Line Include="line05"><Text>&lt;/xunit&gt;</Text></Line>
  9. <LineText Include="%(Line.Text)" />
  10. </ItemGroup>
  11. <WriteLinesToFile
  12. File="out.xml"
  13. Lines="@(LineText)"
  14. Overwrite="true"
  15. />
  16. </Target>

留给你一个练习

>初始< ? xml行
>缩进(提示使用CDATA<`Text>)

您也可以在WriteLinesToFile中使用以下内容,并省略合成的@(LineText)

  1. Lines="@(Line->'%(Text)')"

猜你在找的XML相关文章