MSXML DOM 对象装载 XML 文档的两个主要方法是 loadXML 和 load

loadXML 方法总是带一个仅以 UCS-2 或者 UTF-16 编码的 Unicode BSTR 参数,如果传递的不是有效的 Unicode BSTR,那么装载就会失败。

load 方法以一下的顺序来确定 XML 文档的字符编码

1. 如果 Content-Type HTTP 头部定义了字符集,那么定义的字符集就覆盖 XML 文档本身的任何字符集。
2. 如果存在 2 字节的 Unicode 字节顺序标记,那么 load 方法就假定编码为 UTF-16,它即可以处理 big-endian,也可以处理 little-endian。
3. 如果存在 4 字节的 Unicode 字节顺序定义标记 (0xFF 0xFF 0xFF 0xFE ),那么 load 方法就假定编码为 utf-32.
4. 否则,load 方法假定编码为 utf-8,除非它找到带有制定了其他字符集的编码属性的 XML 声明。

来源:国际化软件开发(源书第二版) 机械工业出版社