I have got a xml file and would like to if part of a line in the xml matches a string replace part of that line of xml. I do believe it is probabily pretty simple but really cannot work out how to do it. Below I am showing a very small snippet of the XML but it should be enough to understand wht I am trying to do
<?xml version="1.0" encoding="utf-8"?>
<Server ObjId="SERVER01" Version="1123" AreaOfResponsibility="Area2" AreaCode="ODA">
<SubSystems>
<SubSystem ObjId="SS001" IPAddressA="192.168.103.16" IPAPort="0" IPAddressB="192.168.103.16" IPBPort="0">
What I want to do is when ObjId="SS001" replace IPAPort="0" with IPAPort="2115" in the XML and save it. Intially the way I was doing it was by hardcoding as seen below and this just is not scalable. What I would like is for when ObjId="" = a variable replace IPAPort="0" with IPAPort="$AnotherVariable" but without having to have the long replace parameters I currently have
[XML]$Con = Get-Content Path\To\XML
$Con | % { $_.Replace('ObjId="SS001" IPAddressA="192.168.103.16" IPAPort="0" IPAddressB="192.168.103.16" IPBPort="0"', 'ObjId="SS001" IPAddressA="192.168.103.16" IPAPort="2115" IPAddressB="192.168.103.16" IPBPort="0"')} | Set-Content $MT700XMLPath
Basically I just want a neater way of writing this