通常、属性は名前空間で修飾されていないことに注意してください。この場合、探している PortalID が 1 つしかない場合は、名前空間をいじる必要はありません。
$xml = [xml]@'
<WDA.Application.Configuration xmlns="WDA.Application.Configuration">
<Portals>
<Portal PortalID="jhgjuhu6yu8678" Type="default" />
</Portals>
</WDA.Application.Configuration>
'@
$xml | Select-Xml -XPath '//@PortalID' | Foreach {$_.Node.'#text' = 'abcd'}
$xml | Format-Xml
出力:
<WDA.Application.Configuration xmlns="WDA.Application.Configuration">
<Portals>
<Portal PortalID="abcd" Type="default" />
</Portals>
</WDA.Application.Configuration>
Format-Xml
はPSCXコマンドレットであることに注意してください。
名前空間を使用して特定の要素をフィルタリングする必要がある場合は、それらをハッシュテーブルに入れて次のSelect-Xml
ように渡すことができます。
... | Select-Xml -XPath '//dns:Portal' -Namespace @{dns='WDA.Application.Configuration'}