Ich hatte heute mit einem kleinen XML Problem zu kämpfen. Bei der Generierung des XMLs trat der oben genannte Fehler auf. Problemlösung in kurz: "&”, "<” & ">” maskieren wenn man InnerXml setzt oder "vollständiges” Xml Element setzen.
Problemfall:
class Program { static void Main(string[] args) { XmlDocument doc = new XmlDocument(); XmlElement element = doc.CreateElement("element"); element.InnerXml = "hello & good bye"; } }
static void Main(string[] args) { XmlDocument doc = new XmlDocument(); XmlElement element = doc.CreateElement("element"); element.InnerXml = "hello <test></test> good bye"; }
Eigentlich völlig logisch. Problematisch wird es nur wenn man z.B. HTML Markup wie "<br/>” und vom User eingegebene Texte (wo auch ein "&” oder "<” drin stehen könnte) auftauchen. Da die Fehlermeldung mir recht nichtsagend war, hab ich mir gedacht es zu bloggen. :)