XSD架构允许在字符串元素标记中使用特殊/保留字符

时间:2009-04-30 09:52:53

标签: xml parsing xsd

在字符串元素标记中,如果XML解析器找到以下字符,它将会混淆



<
>

&安培;

(即,我们已经从数据库字段中检索了公司名称,它看起来像这样:“Smith& Sons”)

问题是 - 如果在元素中找到,如何设计XSD以忽略这些字符?

3 个答案:

答案 0 :(得分:3)

你无法忽略这些字符。

它们在XML中无效,因此需要在CDATA部分进行转义或包装。除非使用不正确的方法(即:字符串连接)构建XML,否则这些字符无法显示在XML 中。

如果使用适当的方法(某些类型的XML库)构建XML,这些字符将被透明的XML转义对象替换,并且没有解析器会抱怨。

答案 1 :(得分:1)

你的答案是答案。

XML内容的创建者应将它们放在CDATA部分中。

答案 2 :(得分:1)

如果从数据库中提取“Smith& Sons”,则应在插入XML时对其进行转义

e.g。以上将成为'史密斯& amp;儿子的

与上述其他角色类似。

这种情况的发生取决于您构建XML内容的方式。如果使用DOM之类的API,那么这应该自动发生。如果您手动组装XML,那么您必须担心这一点(以及其他问题,如字符编码 - 这意味着使用API​​是更好的选择)。