Hi, I have spent much time trying to figure out how to do this. I will do my best to explain what I am trying to do. Below is a single row of data from the .xml file I am trying to update:
<Row AreaParentID="2" ChildAreaID="2" ParentAreaID="1" StartDate="1986-06-01T00:00:00" CreateDate="2013-10-17T14:28:01.24" ChangeDate="2013-10-17T14:28:01.24" CreateWorkstationID="12345" ChangeWorkstationID="12345"/>
There will only ever be one row in the file that will match what I am looking for. What I need to do is find a given AreaParentID and then either update the StartDate or remove the start date from the row that was found. I have seen all sorts of examples using creplace and even RegEx, but they have all been fairly simplistic updating the same field that is being searched. Oh, I am not good with regular expressions and have never really used one in PowerShell.
Thanks in advance for any help provided!
Tim
Replace text in .xml file when find matching value in one field but need to update data in another field
Forum rules
Do not post any licensing information in this forum.
Any code longer than three lines should be added as code using the 'Select Code' dropdown menu or attached as a file.
Do not post any licensing information in this forum.
Any code longer than three lines should be added as code using the 'Select Code' dropdown menu or attached as a file.
- timstspry11
- Posts: 15
- Last visit: Wed Sep 18, 2019 6:41 am
Re: Replace text in .xml file when find matching value in one field but need to update data in another field
- [xml]$xml=@'
- <root>
- <Row
- AreaParentID="2"
- ChildAreaID="2"
- ParentAreaID="1"
- StartDate="1986-06-01T00:00:00"
- CreateDate="2013-10-17T14:28:01.24"
- ChangeDate="2013-10-17T14:28:01.24"
- CreateWorkstationID="12345"
- ChangeWorkstationID="12345"
- />
- </root>
- '@
- $n=$xml.SelectSingleNode('//Row[@AreaParentID="2"]')
- $n.StartDate
- #1986-06-01T00:00:00
- $n.StartDate='2015-12-21T00:00:00'
- $n.StartDate
- #2015-12-21T00:00:00
- $xml.Save($filename)
- timstspry11
- Posts: 15
- Last visit: Wed Sep 18, 2019 6:41 am
Re: Replace text in .xml file when find matching value in one field but need to update data in another field
Thank you for your help! I do appreciate it.
Tim
Tim
Re: Replace text in .xml file when find matching value in one field but need to update data in another field
That will not work if the XML is wrapped in custom namespaces. If so you will have to add more steps.