title: Convert JSON to XML with invalid node names
body: <p>I have the following JSON structure, retrieved from a web service that I cannot change:</p>
  
  <pre><code>{
    "0": {
      "somedata": 0,
      "total": "137"
    },
    "1": {
      "somedata": 4,
      "total": "422"
    },
    etc...
  }
  </code></pre>
  
  <p>Using JsonConvert.DeserializeXmlNode() this results in this XmlDocument:</p>
  
  <pre><code>&lt;ROOT&gt;
    &lt;0&gt;
      &lt;somedata&gt;0&lt;/somedata&gt;
      &lt;total&gt;137&lt;/total&gt;
    &lt;/0&gt;
    &lt;!-- Etc... --&gt;
  &lt;ROOT&gt;
  </code></pre>
  
  <p>Using JsonConvert.DeserializeXNode() results in an exception since the node name cannot be a number. So I need a better deserializer since both conversions won't work for me.<br>
  To make it more complex: the JSON I get might have nested arrays thus the conversion becomes even more complex than expected. It would have been nice if the Newtonsoft would validate if it generates valid names for array elements. Unfortunately it doesn't so I need to work around this.<br>
  This is considered a bug in Newtonsoft in my opinion, but I can't wait until it is fixed. What would be a work-around for this?</p>
  
  <hr>
  
  <p>With JsonReaderWriterFactory.CreateJsonReader() I do manage to get a valid XML file, but it is "contaminated" with namespaces. I don't want those namespaces! It generates something like this:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;root type="object"&gt;
      &lt;a:item xmlns:a="item" item="0" type="object"&gt;
          &lt;somedata type="number"&gt;0&lt;/pages&gt;
          &lt;total type="string"&gt;847&lt;/total&gt;
      &lt;/a:item&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>And while it is valid, the namespaces make it more complex for another process to parse it again.</p>