CONVERTING JSON TO XML

Takeshi Okada

Total Post:89

Points:629
Posted by  Takeshi Okada
 3633  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. AVADHESH PATEL

    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");

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!