哪些字符在XML属性中是无效的(除非编码)?
我不敢相信我找不到这个信息,所以:
1)哪些字符不能在没有实体编码的情况下合并到XML属性中?
显然,你需要编码报价。 那么<和>呢? 还有什么? 
2)正式名单到底在哪里?
以下是属性值中允许的定义。
 '"' ([^<&"] | Reference)* '"' | "'" ([^<&'] | Reference)* "'" 
所以,你不能有:
-  打开/closures属性值( '或")的相同字符
-  一个赤裸裸的&(必须&)
-  左尖括号( <必须是<)
你也不应该使用任何在XML文档中任何地方都不合法的字符 (比如表单提要等)。
根据(2) 当前的build议 ,特别是关于字符数据和标记 ,它们是(1)和号(&),左尖括号(<),右尖括号(>)以及单引号(')和双“(”)。
请参阅“可扩展标记语言(XML)1.0(第三版)”中的 2.2字符 。
请注意,至less在.NET中,如果您使用XML API来处理XML,那么您将不必担心这一点。 这是不把XML当作文本的原因。