gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 02:02:03 24 4
gpt4 key购买 nike

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

当我打开我试图在 Notepad++ 中编辑的原始文件时,编码类型列为“UTF-8 without BOM”。当我在使用 Xml.Save 编辑后在 Notepad++ 中打开文件时,编码类型仅列为“UTF-8”。这会导致使用此文件的程序出错,提示它无法解析配置属性。

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

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

我尝试了不同的转换和保存文件的方法,但是 Xml.Save 似乎默认为“UTF-8”编码类型。

$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 收集的详细信息, herehere .

关于xml - 如何使用 Xml.Save 强制或指定编码类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30265973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com