Sinan Türemiş
Sinan Türemiş

Reputation: 115

How to Json To Xml

I am new for Json and I have a simple problem.

I am trying to convert json file to xml file with c#. But it throw an exception.

The Code is ;

  private void TakeXML()
    {
        string json = ReadText();

        XmlDocument doc = (XmlDocument)Newtonsoft.Json.JsonConvert.DeserializeXmlNode(json);

        XmlTextWriter writer = new XmlTextWriter("json.xml", null);
        writer.Formatting = Formatting.Indented;
        doc.Save(writer);
    }

The ReadText function is;

 private string ReadText()
    {
        FileStream fs = new FileStream(@"C:\Users\Sinan\Desktop\bina.json", FileMode.Open, FileAccess.Read);
        StreamReader sr = new StreamReader(fs);
        string json;
        try
        {
            json = sr.ReadToEnd();
            return json;

        }
        catch (Exception)
        {
            return null;
        }
        finally
        {

            sr.Close();
            fs.Dispose();
        }
    }

for XmlDocument doc = (XmlDocument)Newtonsoft.Json.JsonConvert.DeserializeXmlNode(json); line, it said that;

"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."

I am searching to solve this problem but ı haven't found it. İf you help me in this regard, I will be glad. Thank you.

Upvotes: 1

Views: 5548

Answers (1)

Harsh Baid
Harsh Baid

Reputation: 7249

In method DeserializeXmlNode specify the root node name in second parameter as shown in below code:

XmlDocument doc =
  (XmlDocument)
     Newtonsoft.Json.JsonConvert.DeserializeXmlNode(json, "rootNodeName");
                                                   // second parameter

Although if you can give json string then it would be easy to give exact answer.

Reference link: Converting JSON to XML

Upvotes: 2

Related Questions