我是否需要在XML正文中替换双/单引号?

如果关闭,请在此处更正我的术语:

XML的5个字符替换是:

>& amp; (&)
>& lt; (<)
>& gt; (>)
>& quot; (“)
>& (‘)

所有这些替换都需要在元素文本中进行吗?或者只属性文字? (术语修正?)

例如这是有效的XML吗?

<myelement>x && y</myelement>
<myelement>And I quote,"no"</myelement>

&安培; GT;和& lt;在这种情况下,替换似乎很明显,但我不清楚替换规则是否对整个XML文档是全局的,或者它们是否对文档的不同部分应用不同(例如,cdata部分应用不同的规则).

假设:这是无效的XML:

<myelement field="no & allowed here"/>
<myelement field="no <> allowed here"/>

引号是明显的属性分隔符,<>是明显的元素文本分隔符.

在元素内容中,您只需要逃避&和&lt ;;你永远不需要逃避单引号或双引号,你需要逃避>只有当它作为序列的一部分出现时]]> (许多人无条件地更换它,因为这更简单).

属性内容中,您只需要转义&和<和'或',取决于哪一个被用作属性定界符. 以&开头的实体在注释或CDATA部分或元素或属性名称中无法识别,因此不得在这些上下文中转义特殊字符.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念