С Powershell 3.0 я хочу отредактировать XML-файл, созданный программой:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Node1>
<Child attr="
" />
</Node1>
Используемый скрипт:
$xml = [xml](Get-Content "C:\Users\XXX\Desktop\Test.xml" -Force)
# Save it directly :
$xml.Save("C:\Users\XXX\Desktop\Test2.xml")
# Force encoding :
$encoding = [Text.Encoding]::GetEncoding('ISO-8859-1') #
$writer = New-Object IO.StreamWriter("C:\Users\XXX\Desktop\Test3.xml",$false,$encoding)
$xml.Save($writer)
$writer.Close()
Test2.xml и Test3.xml (найдены здесь) становится:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Node1>
<Child attr="
" />
</Node1>


заменяется на 

Почему ? Как я могу этого избежать? (Программа не может прочитать отредактированный файл).
0
усекается при создании объекта[xml]
. - person Mathias R. Jessen   schedule 24.03.2017�xA;
— нет. См. Спецификацию W3C Расширяемый язык разметки (XML) 1.0 (пятое издание), раздел в ссылках на символы — ссылка на символ может начинаться только с&#
или&#x
. Значит, не�x
. Далее следует XML-схема, часть 2: типы данных, второе издание, примечание о пробелах говоря Примечание: здесь используется #xA [обозначает перевод строки]. Эту нотацию следует отличать от , которая является ссылкой символа XML на ту же кодовую точку UCS.. - person TessellatingHeckler   schedule 25.03.2017