Tengo una función en la que paso una cadena como parámetros llamada filterXML que contiene '&' en una de las propiedades.XmlDocument throwing "Ocurrió un error al analizar EntityName"
Sé que XML no lo reconocerá y me arrojará un error. Aquí está mi código:
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!!!
¿Qué debo cambiar en mi código para editar o analizar filterXml? Mi filterXML se ve así:
<Testing>
<Test>CITY & COUNTY</Test>
</Testing>
estoy cambiando mi valor de cadena de & a &. Aquí está mi código para que:
string editXml = filterXml;
if (editXml.Contains("&"))
{
editXml.Replace('&', '&');
}
Pero me facilita un err en el interior de la sentencia if: Demasiados literales.
Se está produciendo un error debido al ampersand (&) –
Esto es tarde en el juego, pero en caso de que alguien más se tropiece con él - el error "Demasiados literales" es causado por el hecho de que Gunda utilizó comillas simples alrededor de su "& ". Las comillas simples indican caracteres, que solo pueden tener un solo carácter. – Euric