我正在使用以下代码从解码的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)。
如何删除这些字符?
非常感谢帮助。
答案 0 :(得分:0)
我明白了。这确实是在写文件的方式。
解决方案是改变以下部分:
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流方法而不是二进制访问写入正确写入,没有任何垃圾字符。