如何使用Xml.Save强制或指定编码类型?
发布时间:2020-12-16 22:41:15 所属栏目:百科 来源:网络整理
导读:我有一个我使用Power Shell修改的 XML配置文件,当我使用Xml.Save保存文件时,它会更改编码类型. 当我打开ORIGINAL文件时,我试图在记事本中编辑,编码类型列为“没有BOM的UTF-8”.当我使用Xml.Save编辑后在记事本中打开文件时,编码类型被简单地列为“UTF-8”.这
我有一个我使用Power
Shell修改的
XML配置文件,当我使用Xml.Save保存文件时,它会更改编码类型.
当我打开ORIGINAL文件时,我试图在记事本中编辑,编码类型列为“没有BOM的UTF-8”.当我使用Xml.Save编辑后在记事本中打开文件时,编码类型被简单地列为“UTF-8”.这会导致使用此文件的程序错误地说它无法解析为配置属性. 如果我在记事本中打开EDITED文件,请将编码类型更改为“无BOM的UTF-8”,然后保存文件.然后程序将运行而不会出错. 在保存文件时,如何强制和/或指定Xml.Save使用“UTF-8无BOM”编码类型? 我尝试了不同的方法来转换和保存文件,但Xml.Save似乎默认为“UTF-8”enconding类型. $xml = New-Object -TypeName XML $xml.Load($file) $xml.configuration.config.option = $newValue $xml.Save($file) 解决方法
这似乎照顾它.当然可以有更优雅的方式……
$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() 从here,here和here收集的详细信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |