title: Getting an exception when trying to convert JSON with an empty property name to XML
body: <p>I've got a service that takes various file formats from my clients and converts them to XML to be processed by an internal processing engine.  For JSON I'm using Json.Net's <em>JsonConvert.DeserializeXmlNode</em> to convert the JSON to XML.  Today I've run into an issue where a client is sending JSON that contains a property with an empty name, which apparently is a valid scenario.  When I try to convert to XML I get the exception below.  What I'm trying to figure out is the best way to tell the XmlNodeConverter that I want it to either skip or give a default name to an element when this happens.  Is that possible?</p>
  
  <p>Any advice would be greatly appreciated!  Thanks!</p>
  
  <p><strong>Sample Unit Test:</strong></p>
  
  <pre><code>[Test]
  public void TestParseEmptyName( )
  {
      string json = @"
      {
          ""Row"":{
              """":123
          }
      }";
  
      XmlDocument xdoc = JsonConvert.DeserializeXmlNode( json );
  }
  </code></pre>
  
  <p><strong>The exception I'm getting is:</strong></p>
  
  <pre><code>Newtonsoft.Json.JsonSerializationException occurred
    HResult=0x80131500
    Message=XmlNodeConverter cannot convert JSON with an empty property name to XML. Path 'Row.', line 1, position 14.
    Source=Newtonsoft.Json
    StackTrace:
     at Newtonsoft.Json.Converters.XmlNodeConverter.ReadElement(JsonReader reader, IXmlDocument document, IXmlNode currentNode, String propertyName, XmlNamespaceManager manager)
     at Newtonsoft.Json.Converters.XmlNodeConverter.DeserializeNode(JsonReader reader, IXmlDocument document, XmlNamespaceManager manager, IXmlNode currentNode)
     at Newtonsoft.Json.Converters.XmlNodeConverter.CreateElement(JsonReader reader, IXmlDocument document, IXmlNode currentNode, String elementName, XmlNamespaceManager manager, String elementPrefix, Dictionary`2 attributeNameValues)
     at Newtonsoft.Json.Converters.XmlNodeConverter.ReadElement(JsonReader reader, IXmlDocument document, IXmlNode currentNode, String propertyName, XmlNamespaceManager manager)
     at Newtonsoft.Json.Converters.XmlNodeConverter.DeserializeNode(JsonReader reader, IXmlDocument document, XmlNamespaceManager manager, IXmlNode currentNode)
     at Newtonsoft.Json.Converters.XmlNodeConverter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer)
     at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue)
     at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
     at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
     at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
     at Newtonsoft.Json.JsonConvert.DeserializeXmlNode(String value, String deserializeRootElementName, Boolean writeArrayAttribute)
     at Newtonsoft.Json.JsonConvert.DeserializeXmlNode(String value)
     at BMS.Common.Test.Text.JSONParserFixture.TestParseEmptyName() in C:\SVNRepository\BMSProducts\LoanTradeDesk\trunk\Source Code\Common\BMS.Common.Test\Text\JSONParserFixture.cs:line 33
  </code></pre>