From b3e1a3df201addd9fc8cfd24602db378251ab9b1 Mon Sep 17 00:00:00 2001 From: Wiebe Tijsma Date: Fri, 20 Jan 2012 13:54:02 +0100 Subject: [PATCH] XmlDeserializer.HandleListDerivative does not try the lowercased, "undashed" version for element names. Issue was reported here: http://groups.google.com/group/restsharp/browse_thread/thread/c70c39b47d10002d --- RestSharp/Deserializers/XmlDeserializer.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/RestSharp/Deserializers/XmlDeserializer.cs b/RestSharp/Deserializers/XmlDeserializer.cs index 1b42215af..42518592a 100644 --- a/RestSharp/Deserializers/XmlDeserializer.cs +++ b/RestSharp/Deserializers/XmlDeserializer.cs @@ -247,6 +247,13 @@ private object HandleListDerivative(object x, XElement root, string propName, Ty var elements = root.Descendants(t.Name.AsNamespaced(Namespace)); var name = t.Name; + + if (!elements.Any()) + { + var lowerName = name.ToLower().AsNamespaced(Namespace); + elements = root.Descendants().Where(e => e.Name.LocalName.RemoveUnderscoresAndDashes() == lowerName); + } + if (!elements.Any()) { var lowerName = name.ToLower().AsNamespaced(Namespace);