dans un fichier XML valide, j'ai la section suivante:Remplacer xComment avec son contenu
<PropertyGroup>
<WorkingDir>C:\SomeFolder\</WorkingDir>
</PropertyGroup>
<ItemGroup>
<Files Include="$(WorkingDir)**\*.txt" />
<!--<Files Include="$(WorkingDir)**\*.log" />-->
<Files Include="$(WorkingDir)**\*.bat" />
<!--<Files Include="$(WorkingDir)**\*.ps1" />
<Files Include="$(WorkingDir)**\*.psm" />-->
<Files Include="$(WorkingDir)**\*.cmd" />
</ItemGroup>
-je charger à l'aide XDocument et peut alors récupérer la liste des commentaires en utilisant xComment - mais suppose que je veux seulement le premier:
var xComment = (doc.Elements().DescendantNodes().OfType<XComment>().First();
Je veux maintenant remplacer ce commentaire avec son contenu réel:
xComment.ReplaceWith(xComment.Value);
Cependant, ce que je reçois en sortie:
<PropertyGroup>
<WorkingDir>C:\SomeFolder\</WorkingDir>
</PropertyGroup>
<ItemGroup>
<Files Include="$(WorkingDir)**\*.txt" />
<Files Include="$(WorkingDir)**\*.log" />
<Files Include="$(WorkingDir)**\*.bat" />
<!--<Files Include="$(WorkingDir)**\*.ps1" />
<Files Include="$(WorkingDir)**\*.psm" />-->
<Files Include="$(WorkingDir)**\*.cmd" />
</ItemGroup>
Si la sortie I le contenu de xComment.Value
séparément (en utilisant par exemple Console.WriteLine()
,), je reçois <Files Include="$(WorkingDir)**\*.log" />
- donc ce qui se passe aux crochets lors de l'utilisation XNode.ReplaceWith()
? Comment s'assurer que la mise en forme des caractères est préservée?