C# 向XmlElement添加符号和

C# 向XmlElement添加符号和,c#,xml,C#,Xml,我正在创建几个用于较大XML文档的XmlElements XmlElement thisElement = xmlSearchParameters.CreateElement("value"); thisElement.InnerXml = this.searchParameters[key]; 这在大多数情况下都很有效,但是如果searchParameters[key]的值恰好包含一个&symbol,则会出现以下两个错误之一: 出现意外的文件结尾。第1行,位置1。-如果值仅为& 分析Enti

我正在创建几个用于较大XML文档的XmlElements

XmlElement thisElement = xmlSearchParameters.CreateElement("value");
thisElement.InnerXml = this.searchParameters[key];
这在大多数情况下都很有效,但是如果searchParameters[key]的值恰好包含一个&symbol,则会出现以下两个错误之一:

出现意外的文件结尾。第1行,位置1。-如果值仅为&

分析EntityName时出错。第1行,位置7。-如果值包含与其他文本混合的(&M)


在XmlElement中包含&和任何其他特殊符号的首选方式是什么?我想一定有比用其他东西(某种XmlFormat方法???)替换更好的方法。

将替换小于、大于、引号、撇号和符号,这可能是您所需要的全部。

首先为什么要使用
InnerXml
?如果您有一些未解析字符串形式的有效标记,并且希望将其插入其中,则应该使用它。对于纯文本,请使用
InnerText

thisElement.InnerText = this.searchParameters[key];

如果使用InnerXml,则必须保证文本值是有效的xml。
使用InnerText属性而不是InnerXml

谢谢你的提示。我过去很少使用XmlElement,这就是我开始使用它时代码的设置方式。更改为使用InnerText解决了我的问题。