如何使用Xml.Save强制或指定编码类型?

时间:2015-05-15 18:01:43

标签: xml powershell

我有一个用PowerShell修改的XML配置文件,当我使用Xml.Save保存文件时,它会更改编码类型。

当我打开ORIGINAL文件时,我试图在Notepad ++中编辑,编码类型被列为“没有BOM的UTF-8”。当我在Notepad ++中使用Xml.Save编辑打开文件时,编码类型被简单地列为“UTF-8”。这导致使用此文件的程序错误地说它无法解析为配置属性。

如果我在Notepad ++中打开EDITED文件,请将编码类型更改为“无BOM的UTF-8”,然后保存文件。然后程序将无误地运行。

如何在保存文件时强制和/或指定Xml.Save使用“无BOM的UTF-8”编码类型?

我尝试了不同的方式来投射和保存文件,但Xml.Save似乎默认使用“UTF-8”加入类型。

$xml = New-Object -TypeName XML
$xml.Load($file)
$xml.configuration.config.option = $newValue
$xml.Save($file)

1 个答案:

答案 0 :(得分:7)

这似乎可以解决这个问题。肯定会有更优雅的方式......

e.preventDefault();

hereherehere收集的详细信息。