我有一个我使用PowerShell修改的XML配置文件,当我使用Xml.Save保存文件时,它会更改编码类型.
当我打开ORIGINAL文件时,我试图在Notepad ++中编辑,编码类型被列为"没有BOM的UTF-8".当我在Notepad ++中使用Xml.Save编辑打开文件时,编码类型被简单地列为"UTF-8".这会导致使用此文件的程序错误地说它无法解析为配置属性.
如果我在Notepad ++中打开EDITED文件,请将编码类型更改为"UTF-8 without BOM",然后保存文件.然后程序将运行而不会出错.
Xml.Save保存文件时,如何强制和/或指定使用"无BOM的UTF-8"编码类型?
我已经尝试了不同的方法来转换和保存文件,但Xml.Save似乎默认为"UTF-8"enconding类型.
$xml = New-Object -TypeName XML
$xml.Load($file)
$xml.configuration.config.option = $newValue
$xml.Save($file)
Run Code Online (Sandbox Code Playgroud)
mca*_*ing 10
这似乎照顾它.当然可以有更优雅的方式......
$xml = New-Object -TypeName XML
$xml.Load($file)
$xml.configuration.config.option = $newValue
$utf8WithoutBom = New-Object System.Text.UTF8Encoding($false)
$sw = New-Object System.IO.StreamWriter($file, $false, $utf8WithoutBom)
$xml.Save( $sw )
$sw.Close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8753 次 |
| 最近记录: |