目前,我正在尝试使用 ASP 中的 MSXML loadXML 方法来加载可能包含 Unicode 中文字符的 XML 字符串,例如
(U+20BA2) 4字节
xml字符串看起来像
<City>City</City><Name></Name>
所以,在我的代码中,我可以看到 xml 字符串是正确的,但是 loadXML 返回一条错误消息,例如
无效的 unicode 字符,
我建议发布您收到的确切代码、XML 源代码和错误消息。我无法通过<element></element>
在 MSXML 4.0 SP3 中解析来重现错误;这很好用。
通过尝试解析,我确实得到了一个 parseError,原因是“无效的 unicode 字符” <element>��</element>
,因为这不是格式良好的 XML。如果你的标记中有这个,那么你需要修复产生它的序列化器,因为 MSXML 和任何符合标准的 XML 解析器都不会加载它。
如果变成字符引用,它必须是
𠮢
(或𠮢
)。代码单元 55362 和 57250 是“代理”,保留用于在 UTF-16 中编码星体平面字符。它们不能包含在 XML 文档中。
��
是 的实体编码形式0xD842 0xDFA2
,是 Unicode字符的 UTF-16 编码形式。确保 XML 完全采用 UTF-16 编码,而不是混合单字节 ASCII 和多字节 UTF-16。