使用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(找到here)变为:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Node1>
<Child attr="
" />
</Node1>


已替换为

为什么? 我怎么能避免呢? (程序无法读取已编辑的文件)。