From 795b9e3a46866e4f3aaf4f60781eed171df1d599 Mon Sep 17 00:00:00 2001 From: Jack Ma Date: Fri, 22 Apr 2016 10:33:08 -0700 Subject: [PATCH] Adds support of XmlElement as one of the allowed objectType --- Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs b/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs index 438bb0f1..b1105ec6 100644 --- a/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs +++ b/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs @@ -1431,9 +1431,9 @@ namespace Newtonsoft.Json.Converters #if !(DOTNET || PORTABLE) if (typeof(XmlNode).IsAssignableFrom(objectType)) { - if (objectType != typeof(XmlDocument)) + if (objectType != typeof(XmlDocument) && objectType != typeof(XmlElement)) { - throw new JsonSerializationException("XmlNodeConverter only supports deserializing XmlDocuments"); + throw new JsonSerializationException("XmlNodeConverter only supports deserializing XmlDocuments or XmlElement"); } XmlDocument d = new XmlDocument(); @@ -1477,6 +1477,11 @@ namespace Newtonsoft.Json.Converters } #endif + if (objectType == typeof(XmlElement)) + { + return document.DocumentElement.WrappedNode; + } + return document.WrappedNode; }