title: JsonConvert.SerializeXmlNode() removes child nodes with same name as array
body: <p>I have an XML representation of a JSON string that contains an array and that array contains a child node with the same name of the array. When I call the JsonConvert.SerializeXmlNode() method to convert that XML representation into a JSON string, it removes the inner child node with the same name as the array. </p>
  
  <p>For example, I have the following XML representation of the JSON object:</p>
  
  <pre><code>&lt;location xmlns:json="http://james.newtonking.com/projects/json" json:Array="true"&gt;
      &lt;location&gt;
          &lt;name&gt;Name of location.location 1&lt;/name&gt;
      &lt;/location&gt;
  &lt;/location&gt;
  </code></pre>
  
  <p>When I call JsonConvert.SerializeXmlNode() with this XML, the resulting JSON string removes the inner  element resulting in this:</p>
  
  <pre><code>"location": [
      {
          "name": "Name of location.location 1"
      }
  ]
  </code></pre>
  
  <p>However, I would expect to get this JSON string preserving the inner element:</p>
  
  <pre><code>"location": [
      {
          "location": {
              "name": "Name of location.location 1"
          }
      }
  ]
  </code></pre>
  
  <p>Here is some example code on how to reproduce the issue:</p>
  
  <pre><code>XmlDocument doc = new XmlDocument();
  doc.LoadXml("&lt;location xmlns:json=\"http://james.newtonking.com/projects/json\" json:Array=\"true\"&gt;&lt;location&gt;&lt;name&gt; Name of location.location 1&lt;/name&gt;&lt;/location&gt;&lt;/location&gt;");
  string jsonString = JsonConvert.SerializeXmlNode(doc);
  </code></pre>
  
  <p>Is there a way to change this behavior in JSON.NET or otherwise work around it? I am not able to change the structure of the JSON/XML as it is defined by a third party.</p>