xml - MSXML2 丢弃编码?
问题描述
我在将 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"?>
解决方案
这是很常见的。
MSXML 加载文件,使用编码来了解它的编码方式,然后将所有编码数据转换为 UTF-16 并删除编码,因为它不再代表文件的编码方式。
如果您想访问编码,您可以通过仅读取文本来读取文件(例如,通过使用允许您指定编码并轻松输出 UTF-16 字符串的 ADODB 流对象)。
如果您想在处理后导出到特定编码,请参阅 bobince 对 Tim Williams 评论的回答。
推荐阅读
- regex - 处理 JavaFX 数值 TextField 中的无穷大
- c++ - 如何使 cmake clion intellisense 与 .mqh 文件一起使用
- postgresql - 使用计算列的 Postgresql 子查询
- postgresql - 无法在 Oracle SQL Developer 连接到 Postgresql 中添加/删除/编辑记录
- python - 从子目录导入的 Python 模块找不到位于其中的图像
- reactjs - 无法加载资源:net::ERR_SOCKET_NOT_CONNECTED,Dockerizing 一个简单的 MERN 应用程序
- php - has_header_image() 中未定义的偏移量
- matlab - Simulink 中的在线多项式曲线拟合
- c++ - 如何强制使用 SFML_DIR?
- css - 如何在 Chrome on Rails 中使用 FontAwesome 5?