0

目前,我正在尝试使用 ASP 中的 MSXML loadXML 方法来加载可能包含 Unicode 中文字符的 XML 字符串,例如

(U+20BA2) 4字节

xml字符串看起来像

<City>City</City><Name></Name>

所以,在我的代码中,我可以看到 xml 字符串是正确的,但是 loadXML 返回一条错误消息,例如

无效的 unicode 字符,

4

2 回答 2

1

我建议发布您收到的确切代码、XML 源代码和错误消息。我无法通过<element></element>在 MSXML 4.0 SP3 中解析来重现错误;这很好用。

通过尝试解析,我确实得到了一个 parseError,原因是“无效的 unicode 字符” <element>&#55362;&#57250;</element>,因为这不是格式良好的 XML。如果你的标记中有这个,那么你需要修复产生它的序列化器,因为 MSXML 和任何符合标准的 XML 解析器都不会加载它。

如果变成字符引用,它必须是&#134050;(或&#x20BA2;)。代码单元 55362 和 57250 是“代理”,保留用于在 UTF-16 中编码星体平面字符。它们不能包含在 XML 文档中。

于 2012-04-14T10:22:26.773 回答
0

&#55362;&#57250;是 的实体编码形式0xD842 0xDFA2,是 Unicode字符的 UTF-16 编码形式。确保 XML 完全采用 UTF-16 编码,而不是混合单字节 ASCII 和多字节 UTF-16。

于 2012-04-13T19:59:37.813 回答