我有一个非常基本的xml,为此我通过delphi 7中的自动生成器创建了一个接口。这工作正常,直到遇到一些奇怪的字符被发送到我的方式。举个例子:
<AfasGetConnector>
<Medewerker>
<Afstortnummer>0032123</Afstortnummer>
<Naam>Wiaëröóíïúáäâtè</Naam>
</Medewerker>
</AfasGetConnector>
将其拉入Firefox / IE会很快告诉您其中存在非法字符。确切地说:ë,é和ö将不被接受。其余的,完全没问题。 (即使是资本版本Ë,É和Ö也很好)
这让我很困惑。为什么这3个人是非法的,但“ä”和其他大多数人都没事?还有其他我应该担心的事吗?
整个区块都是以CDATA的形式发给我的。所以最初的转移很顺利。然而,在那之后,我需要从xml中选择单独的“Medewerker”元素。它们没有封装在CDATA中。因此问题。
答案 0 :(得分:2)
将其拉入Firefox / IE会很快告诉您其中存在非法字符。
对我来说很好。 Firefox和IE都没有抱怨这些角色。
这让我很困惑。为什么这3个人是非法的,但“ä”和其他大多数人都没事?
它们根本不是非法的。 XML规范允许使用大多数 Unicode代码点(减去不可打印的控制字符,UTF-16代理和保留代码点)。您展示的所有角色都是合法的。
整个区块都是以CDATA的形式发给我的。所以最初的转移很顺利。然而,在那之后,我需要从xml中选择单独的“Medewerker”元素。它们没有封装在CDATA中。因此问题。
您可能会遇到XML解析器认为 XML编码为