XML属性中哪些字符无效(除非编码)?

XML属性中哪些字符无效(除非编码)?,xml,xml-serialization,Xml,Xml Serialization,我不敢相信我找不到容易获取的信息,因此: 1) 哪些字符在没有实体编码的情况下不能合并到XML属性中 显然,您需要对引号进行编码。那么呢?还有什么 2) 官方列表具体在哪里?请参见中的 请注意,至少在.NET中,如果您使用XMLAPI来处理XML,那么您就不必担心这一点。这就是不将XML视为文本的原因。根据(2),具体来说,它们是(1)符号(&)、左尖括号()以及单引号(')和双引号(“)。以下是XML的定义 ([^I同意文档位置,但我认为该特定部分不是查看的正确位置。该部分列出了“文

我不敢相信我找不到容易获取的信息,因此:

1) 哪些字符在没有实体编码的情况下不能合并到XML属性中

显然,您需要对引号进行编码。那么
呢?还有什么

2) 官方列表具体在哪里?

请参见中的

请注意,至少在.NET中,如果您使用XMLAPI来处理XML,那么您就不必担心这一点。这就是不将XML视为文本的原因。

根据(2),具体来说,它们是(1)符号(&)、左尖括号()以及单引号(')和双引号(“)。

以下是XML的定义


([^I同意文档位置,但我认为该特定部分不是查看的正确位置。该部分列出了“文本流”中允许的有效字符,如果你愿意的话.About.NET和libraries,我非常同意——但在这种情况下,我需要编辑一个包含XML的现有文本文件。那么,为什么不使用XML API来处理该文本文件呢?最好使用文档的当前版本:我同意规范文档的部分。但是,并非所有这些属性都“必须”被转义。您可以编辑以澄清吗?-1不需要转义
,也不需要转义
'
(它们不用于分隔属性)。最好避免使用两个字符串
--
。否则,如果要在注释中包装该内容,您会遇到问题。(因为
--
在注释中是不合法的。)
'"' ([^<&"] | Reference)* '"'  |  "'" ([^<&'] | Reference)* "'"