From 096b8f3576bbd85fee696d9671ef7256678d5d44 Mon Sep 17 00:00:00 2001 From: Jack Ma Date: Fri, 22 Apr 2016 11:00:11 -0700 Subject: [PATCH] Adds test for deserializing XmlElement and a minor change in the exception message --- .../Converters/XmlNodeConverterTest.cs | 17 +++++++++++++++++ .../Converters/XmlNodeConverter.cs | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs b/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs index 15a29bf1..a7107f4b 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs @@ -906,6 +906,23 @@ namespace Newtonsoft.Json.Tests.Converters return sw.ToString(); } + public class Foo2 + { + public XmlElement Bar { get; set; } + } + + [Test] + public void SerializeAndDeserializeXmlElement() + { + Foo2 foo = new Foo2 { Bar = null }; + string json = JsonConvert.SerializeObject(foo); + + Assert.AreEqual(@"{""Bar"":null}", json); + Foo2 foo2 = JsonConvert.DeserializeObject(json); + + Assert.IsNull(foo2.Bar); + } + [Test] public void SingleTextNode() { diff --git a/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs b/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs index b1105ec6..ebd25be6 100644 --- a/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs +++ b/Src/Newtonsoft.Json/Converters/XmlNodeConverter.cs @@ -1433,7 +1433,7 @@ namespace Newtonsoft.Json.Converters { if (objectType != typeof(XmlDocument) && objectType != typeof(XmlElement)) { - throw new JsonSerializationException("XmlNodeConverter only supports deserializing XmlDocuments or XmlElement"); + throw new JsonSerializationException("XmlNodeConverter only supports deserializing XmlDocument or XmlElement"); } XmlDocument d = new XmlDocument();