从 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 流方法而不是二进制访问写入正确写入,没有任何垃圾字符。
我正在使用以下代码从解码的 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 流方法而不是二进制访问写入正确写入,没有任何垃圾字符。