Deserialisieren von XML mit kaufmännisches und-Zeichen mit XmlSerializer()
Den folgenden code bricht, wenn die XML-Daten wie "Herr & Hogan". Irgendwelche Vorschläge?
Danke, Ken
private T GetResponse<T>(String apiObject, String query)
{
//Deserialize XML into the type specified.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(BuildRequestUri(apiObject, query));
using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse())
{
try
{
XmlSerializer ser = new XmlSerializer(typeof(T));
return (T)ser.Deserialize(resp.GetResponseStream());
}
catch (Exception e)
{
error = e.InnerException.ToString();
return default(T);
}
}
}
Kannst du die Ausnahme?
System.Xml.XmlException: Fehler beim Parsen EntityName. Linie 12, position 30. Ich sollte erwähnen, dass ich haben nur begrenzte Kontrolle über die XML-Quelle(Benutzer hinzufügen können, die in kaufmännische und-Zeichen ohne Validierung). Soll ich versuchen zu arbeiten mit der Antwort, bevor ich versuche, zu Deserialisieren? Danke, Ken.
System.Xml.XmlException: Fehler beim Parsen EntityName. Linie 12, position 30. Ich sollte erwähnen, dass ich haben nur begrenzte Kontrolle über die XML-Quelle(Benutzer hinzufügen können, die in kaufmännische und-Zeichen ohne Validierung). Soll ich versuchen zu arbeiten mit der Antwort, bevor ich versuche, zu Deserialisieren? Danke, Ken.
InformationsquelleAutor Kenmeister | 2009-11-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom hier:
Ähnliche Fragen auf StackOverflow:
InformationsquelleAutor Philip Wallace
sollten Sie XML-Daten zu verschlüsseln, wie in "Herr & Hogan". Es soll codiert werden, wie diese:
"Lord & Hogan"
InformationsquelleAutor Randolpho
&
im xml-sollte ersetzt werden, mit&
sonst ist es ungültig Charakter.InformationsquelleAutor empi
Hier ist die Funktion, die verwendet werden können, um zu ersetzen Sie alle den nicht zugelassenen chars: https://msdn.microsoft.com/en-us/library/system.security.securityelement.escape(v=vs. 110).aspx
InformationsquelleAutor unclepaul84