我有一个函数,在该函数中,我将一个字符串传递为名为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!!!
我应该在代码中进行哪些更改以编辑或解析filterXml?我的filterXml看起来像这样:
<Testing>
<Test>CITY & COUNTY</Test>
</Testing>
我将字符串值从&更改为&。这是我的代码:
string editXml = filterXml;
if (editXml.Contains("&"))
{
editXml.Replace('&', '&');
}
但是它在if语句内部给了我一个错误:太多的文字。
最佳答案
上面显示的文件不是格式正确的XML,因为“&”号不能转义。
您可以尝试:
<Testing>
<Test>CITY & COUNTY</Test>
</Testing>
或者:
<Testing>
<Test><![CDATA[CITY & COUNTY]]></Test>
</Testing>
关于c# - XmlDocument throw "An error occurred while parsing EntityName",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7638771/