Я читаю содержимое xml-файла в PowerShell и изменяю его номер версии (с 1.1 до 1.0), прежде чем преобразовать его в xml, чтобы он не вызывал исключение, потому что, как я узнал, версия 1.1 не поддерживается.
Затем я делаю некоторые изменения в контенте и хочу сохранить его в файл, но снова меняю версию с 1.0 на 1.1, как это было, когда я ее читал.
Вот команды, которые я использую:
@'
<?xml version='1.1' encoding='UTF-8'?>
<Root>
<element1>
<string>name</string>
</element1>
<version>3.2.1</version>
</Root>
'@ | Out-File Demo.xml
$content = (Get-Content .\Demo.xml)
$replacedVersion = $content.Replace('<?xml version=''1.1'' encoding=''UTF-8''?>','<?xml version=''1.0'' encoding=''UTF-8''?>')
$XMLFile = [xml]$replacedVersion
// here I make my changes
// ...
$pathToSaveAt = "C:\MyDir\newFile.xml"
$XMLFile.Save($pathToSaveAt)
Но в результате я получаю XML-файл с заголовком, содержащим версию
<?xml version="1.0" encoding="UTF-8" ?>
Я хочу, чтобы это быловерсия 1.1.
В результате я пытаюсь получить xml-файл с содержимым:
<?xml version='1.1' encoding='UTF-8'?>
<Root>
// all the changes I made
</Root>
Как мне этого добиться?