在字符串元素标记中,如果XML解析器找到以下字符,它将会混淆
“
“
<
>
&安培;
(即,我们已经从数据库字段中检索了公司名称,它看起来像这样:“Smith& Sons”)
问题是 - 如果在元素中找到,如何设计XSD以忽略这些字符?
答案 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是更好的选择)。