我想在MSBuild任务中创建一个XML文件。
我有一个文件列表:
- <CreateItem Include="$(TestsAssembliesOutputDir)\Emidee.*.Tests.dll">
- <Output ItemName="TestsAssemblies" TaskParameter="Include" />
- </CreateItem>
我想创建一个如下所示的XML:
- <?xml version="1.0" encoding="utf-8"?>
- <xunit>
- <assemblies>
- <assembly filename="PATH OF FILE #1" shadow-copy="true" />
- <assembly filename="PATH OF FILE #2" shadow-copy="true" />
- </assemblies>
- </xunit>
我该如何实现呢?
提前致谢
麦克风
快而脏
- <Target Name="CreateXml">
- <ItemGroup>
- <TestAssembly Include="$(TestsAssembliesOutputDir)\Emidee.*.Tests.dll" />
- <Line Include="line01"><Text><xunit></Text></Line>
- <Line Include="line02"><Text><assemblies></Text></Line>
- <Line Include="line03"><Text><assembly filename="%(TestAssembly.Identity)" shadow-copy="true" /></Text></Line>
- <Line Include="line04"><Text></assemblies></Text></Line>
- <Line Include="line05"><Text></xunit></Text></Line>
- <LineText Include="%(Line.Text)" />
- </ItemGroup>
- <WriteLinesToFile
- File="out.xml"
- Lines="@(LineText)"
- Overwrite="true"
- />
- </Target>
留给你一个练习
>初始< ? xml行
>缩进(提示使用CDATA<`Text>)
您也可以在WriteLinesToFile中使用以下内容,并省略合成的@(LineText)
- Lines="@(Line->'%(Text)')"