2
J'ai un script PowerShell dans lequel il essaie de remplacer les valeurs d'un nœud de fichier XML par une valeur différente.Remplacer le texte dans le nœud XML contenant l'esperluette
Exemple, dans le noeud SectorDesc
remplacez '&' par 'et'.
<?xml version="1.0" encoding="UTF-8"?>
<OrganisationUnits>
<OrganisationUnitsRow num="8">
<OrganisationId>ACME24/7HOME</OrganisationId>
<OrganisationName>ACME LTD</OrganisationName>
<ContactDetails>
<ContactDetailsRow num="1">
<ContactCode>OFFICE</ContactCode>
</ContactDetailsRow>
</ContactDetails>
<Sector>P</Sector>
<SectorDesc>Private Private & Voluntary</SectorDesc>
</OrganisationUnitsRow>
</OrganisationUnits>
donc cette ligne
<SectorDesc>Private Private & Voluntary</SectorDesc>
conseillerai maintenant se présenter comme
<SectorDesc>Private Private and Voluntary</SectorDesc>
Ceci est mon code jusqu'à présent.
$file = "C:\Dump\test\test.xml"
$xml = [xml](Get-Content $file)
$xml.selectNodes('//SectorDesc/value[contains(.,"text")]')|
ForEach-Object{$_.'#text' = ($_.'#text' -replace "&","and") }
$xml.Save("$File")
La raison pour laquelle je veux remplacer & avec un autre personnage est parce que l'application qui importera le XML ne peut pas gérer. Je sais que c'est un xml valide mais l'application ne le prendra pas, d'où la nécessité d'un travail de transformation. J'ai essayé le code comme suggéré mais quand & est utilisé, il n'effectue pas le remplacement. – zoomzoomvince
Utilisez simplement le code fourni avec & –