我想在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)')"