XmlDocument抛出"解析EntityName时发生错误"

RG-*_*G-3 8 c# xml string xmldocument

我有一个函数,我传递一个字符串作为params称为filterXML,其中包含一个属性中的'&'.

我知道XML不会识别它,它会让我犯错误.这是我的代码:

 public XmlDocument TestXMLDoc(string filterXml)
{
    XmlDocument doc = new XmlDocument();
    XmlNode root = doc.CreateElement("ResponseItems");

    // put that root into our document (which is an empty placeholder now)
    doc.AppendChild(root);

    try
    {
        XmlDocument docFilter = new XmlDocument();
        docFilter.PreserveWhitespace = true;

        if (string.IsNullOrEmpty(filterXml) == false)
            docFilter.LoadXml(filterXml); //ERROR THROWN HERE!!!
Run Code Online (Sandbox Code Playgroud)

我应该在代码中更改哪些内容来编辑或解析filterXml?我的filterXml看起来像这样:

<Testing>
<Test>CITY & COUNTY</Test>
</Testing>
Run Code Online (Sandbox Code Playgroud)

我正在将&#的字符串值更改为.这是我的代码:

string editXml = filterXml;
    if (editXml.Contains("&"))
    {
        editXml.Replace('&', '&amp;');
    }
Run Code Online (Sandbox Code Playgroud)

但它在if语句中给我一个错误:太多的文字.

Ghi*_*rny 14

上面显示的文件不是格式良好的XML,因为&符号未被转义.

您可以尝试:

<Testing>
  <Test>CITY &amp; COUNTY</Test>
</Testing>
Run Code Online (Sandbox Code Playgroud)

要么:

<Testing>
  <Test><![CDATA[CITY & COUNTY]]></Test>
</Testing>
Run Code Online (Sandbox Code Playgroud)