Рейтинг:0

обновить дубликат именованного раздела XML с помощью Powershell

флаг in

Используя Powershell, я хотел бы обновить статус совместимости Outlook до True

<default>
  <application>Excel.exe</application>
  <compatible>True</compatible>

  <application>Outlook.exe</application>
  <compatible>False</compatible>

  <application>Word.exe</application>
  <compatible>False</compatible>
</default>

В этом посте показано, как редактировать документ, если существует только один экземпляр default.application, но файл, с которым я работаю, имеет несколько разделов с именем application на этом уровне..

$doc = [xml](Get-Content ./test.xml)

Результат $doc.default.совместимый является
Истинный
ЛОЖЬ
ЛОЖЬ

Как изменить только среднее значение (outlook.exe) на True с помощью Powershell?

Davidw avatar
флаг in
Когда я запускаю `$doc.default.application`, я получаю имя приложения. `$doc.default.compatible` дает мне `True False False`.
флаг in
Извините, мой пост ошибочен. $doc.default.совместимый Я обновил пост.
Рейтинг:0
флаг cn

Поскольку вы хотите изменить совместимый узел после узла Outlook, я реализовал проверку того, что это предыдущее значение, с помощью метода PreviousSibling перед изменением значения на True.

Обновленный код:

$docs = [xml](Get-Content./test.xml)

$doc = $docs.SelectNodes('/по умолчанию/совместимый') 

foreach ($d в $doc){
    if($d.PreviousSibling.OuterXml -eq "<application>Outlook.exe</application>"){
        $d.'#текст' = "Истина"
    }
}

$docs.Save($PSScriptRoot + "\test.xml")

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.