Converting JSON to XML

Total Post:89

Points:629
 4314  View(s)
Ratings:
Rate this:
Hi Expert! 

I trying to convert JSON output into XML. Unfortunately I get this error:

JSON root object has multiple properties. The root object must have a single property in order to create a valid XML document. Consider specifing a DeserializeRootElementName.

This is what I up to now created.

string url = string.Format("https://graph.facebook.com/{0}?fields=posts.fields(message)&access_token={1}", user_name, access_token);

  HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;

  using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
              StreamReader reader = new StreamReader(response.GetResponseStream());
              jsonOutput = reader.ReadToEnd();
              Console.WriteLine("THIS IS JSON OUTPUT: " + jsonOutput);
            }
  XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(jsonOutput);
  Console.WriteLine(doc);
And this is my JSON output:

{"id":"108013515952807","posts":{"data":[{"id":"108013515952807_470186843068804","created_time":"2013-05-14T20:43:28+0000"},

{"message":"TEKST","id":"108013515952807_470178529736302","created_time":"2013-05-14T20:22:07+0000"}
How can I solve this problem?

Thanks in advance! 


  1. Post:604

    Points:4228
    Re: Converting JSON to XML

    Hi Takeshi!


    Despite the fact your JSON provided in the question is not complete, you have multiple properties at the top level as indicated by the exception. 

    You have to define the root for it to get valid XML:

    var doc = JsonConvert.DeserializeXmlNode(jsonOutput, "root");

  1. Post:4

    Points:28
    Re: Converting JSON to XML

    Post is removed by the Admin.

Answer