将字符串转换为没有 BOM 的 UTF8 (VB.NET)

问题描述

我在编写 XML 解析器/合并器时遇到问题,有一个使用 UTF8-BOM 编码的 XML,我在使用 XElement.Parse 时遇到错误。但是,如果我将该文件转换为没有 BOM 的 UTF8,它就可以解决问题。

错误为“-{”根级别的数据无效。第 1 行,位置 1。"}"。

此 XML 从 SOAP API 下载到字节流,然后转换为如下所示的字符串:

Dim sourceFile_as_Byte = SOAPAPI.Download 'I download the file using a SOAP API method.
Dim ByteEncoder As System.Text.Encoding = System.Text.Encoding.UTF8
SourceFile_as_string = ByteEncoder.GetString(SourceFile_as_Byte)
Dim XMLdoc As XElement
XMLdoc = XElement.Parse(SourceFile_as_string)

我发现了其他解决方案,例如使用 XElement.Load 无论如何都可以工作(似乎 .Load 管理编码?)但由于解决方案的性质,我需要使用 Parse 方法,这就是我尝试转换的原因该字符串并删除 BOM。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)