2
XMLファイルノードの値を別の値に置き換えようとしているPowerShellスクリプトがあります。XMLノードのテキストをアンパサンドで置き換えます
例:SectorDesc
ノード内では、 '&'を 'と'で置き換えます。
<?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>
だから、このライン
<SectorDesc>Private Private & Voluntary</SectorDesc>
woudlは今、この
<SectorDesc>Private Private and Voluntary</SectorDesc>
ように見えるこれは、これまでの私のコードです。
$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")
私は別の文字と&を交換したい理由があります。私はそれが有効なXMLであることを知っているが、アプリケーションはそれを取ることはありません、なぜいくつかの変換作業が必要です。 私は提案したようにコードを試しましたが、&が使用されているときには置き換えを実行しません。 – zoomzoomvince
& –