Обновление XML-файла с помощью PowerShell

#xml #powershell

Вопрос:

Я хотел бы обновить атрибут даты с помощью PowerShell. SelectNodes методы не работают из-за того, как форматируется XML (созданный третьей стороной, не может обновить схему). Есть ли способ обновить поле даты с помощью функции PowerShell XML?

 <?xml version="1.0" encoding="utf-8"?>
<JOBS>
  <ScheduleDetails Environment="Env1" Type="Prod" Recursive="Y" Date="2021-10-06 20:00" Finished="N" Running="N" Interval="7" />
  <ScheduleDetails Environment="Env2" Type="Prod" Recursive="Y" Date="2021-10-06 20:10" Finished="N" Running="N" Interval="7" />
  <ScheduleDetails Environment="Env3" Type="Prod" Recursive="Y" Date="2021-10-06 20:20" Finished="N" Running="N" Interval="7" />
</JOBS>
 

Комментарии:

1. Вы говорите SelectNodes() , что не работает, можете ли вы показать нам код, который вы пробовали, но потерпел неудачу? И дайте нам знать, к каким ошибкам (если таковые имеются) это привело

2. Спасибо! Я использовал » $xmlProperty = $config.SelectNodes("/JOBS/ScheduleDetails/Date") вместо $xmlProperty = $config.SelectNodes("/JOBS/ScheduleDetails")

3. Дата — это не имя узла, вместо этого вам понадобится что-то вроде $config.SelectNodes('//ScheduleDetails') |ForEach-Object { $_.Date = "New Date Value" }