【问题标题】:MSXML2 drops Encoding?MSXML2 丢弃编码?
【发布时间】:2019-01-15 16:17:33
【问题描述】:

我在将 xml 文件加载到“DOMDocument60”时遇到了一些问题。 它是保存为 XML 的纯文本文件。 在 VBA 中加载后,它缺少编码行。

有什么想法吗?提前非常感谢,

Dim MyDom As MSXML2.DOMDocument60
Set MyDom = New MSXML2.DOMDocument60

FILEL = "c:/temp/test.xml"
MyDom.Async = False
MyDom.validateOnParse = True
MyDom.Load (FILEL)

第一行

<?xml version="1.0" encoding="UTF-8"?> 

变化

<?xml version="1.0"?>

【问题讨论】:

标签: xml vba ms-access domdocument msxml2


【解决方案1】:

这很常见。

MSXML 加载文件,使用编码了解其编码方式,然后将所有编码数据转换为 UTF-16 并删除编码,因为它不再代表文件的编码方式。

如果您想访问编码,您可以通过读取文本来读取文件(例如,通过使用允许您指定编码并轻松输出 UTF-16 字符串的 ADODB 流对象)。

如果您想在处理后导出为特定编码,请参阅 bobince 对 Tim Williams 的评论的回答。

【讨论】:

    猜你喜欢
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多