Le code suivant se brise lorsque le XML contient des données telles que “Lord & Hogan”. Aucune suggestion? Merci, ken
private T GetResponse(Ssortingng apiObject, Ssortingng 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.ToSsortingng(); return default(T); } } }
À partir d’ ici :
Le standard XML n’autorise pas l’esperluette littérale à l’intérieur d’une balise XML, et un tel document ne pourra être analysé par aucun parsingur XML.
Autres questions similaires sur StackOverflow:
vous devriez encoder des données XML comme “Lord & Hogan”. Il devrait être encodé comme ceci:
"Lord & Hogan"
&
in xml doit être remplacé par &
sinon c’est un caractère invalide.
Voici une fonction qui peut être utilisée pour remplacer tous les caractères non autorisés: https://msdn.microsoft.com/en-us/library/system.security.securityelement.escape(v=vs.110).aspx