从 xml 文件中删除垃圾字符(可能是 BOM)- VBA

Remove junk characters (probably BOM) from xml file - VBA

我正在使用以下代码从解码的 Base64 字符串编写 XML 文件:

'More Code Above
btArr = MyFoundString

Set DM = CreateObject("Microsoft.XMLDOM")
Set EL = DM.createElement("tmp")
EL.DataType = "bin.base64"

EL.Text = CStr(btArr)
decodeBase64 = EL.nodeTypedValue

XMLFileName = FLDR_NAME & XMLFileNameF


Open XMLFileName For Binary Access Write As #1
Put #1, 1, decodeBase64
Close #1

文件写入正确,除了文件开头出现的 12 个垃圾字符,因此 xml 文件无法使用:

每次都是不同的 12 个字符,但每个创建的文件都有它们:(

经过研究,我了解到这可能与格式编码有关,并且这些字符可能构成字节顺序标记 (BOM)。

如何删除这些字符?

非常感谢您的帮助。

我明白了。确实是文件被写入的方式。

解决方案是更改以下部分:

Open XMLFileName For Binary Access Write As #1
Put #1, 1, decodeBase64
Close #1

收件人:

Set BinaryStream = CreateObject("ADODB.Stream")

BinaryStream.Type = 1

BinaryStream.Open
BinaryStream.Write decodeBase64
BinaryStream.SaveToFile XMLFileName, 2

在此之后,所有文件都使用 ADODB 流方法而不是二进制访问写入正确写入,没有任何垃圾字符。