【问题标题】:How to Json To Xml如何将 Json 转换为 XML
【发布时间】:2013-09-19 11:55:54
【问题描述】:

我是 Json 的新手,我有一个简单的问题。

我正在尝试使用 c# 将 json 文件转换为 xml 文件。但它会抛出异常。

代码是 ;

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

ReadText 函数是;

 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();
        }
    }

对于XmlDocument doc = (XmlDocument)Newtonsoft.Json.JsonConvert.DeserializeXmlNode(json); 行,它表示;

“JSON 根对象具有多个属性。根对象必须具有单个属性才能创建有效的 XML 文档。考虑指定 DeserializeRootElementName。”

我正在寻找解决这个问题的方法,但我没有找到它。如果你在这方面帮助我,我会很高兴。谢谢。

【问题讨论】:

  • 从 xml 创建一个数据表,然后有各种方法从数据表中获取 json。
  • 我需要“将 Json 转换为 Xml”。不是“将 Xml 转换为 Json”。
  • 抱歉造成误解,请使用stackoverflow.com/questions/11981282/…

标签: c# xml json


【解决方案1】:

DeserializeXmlNode方法中,在第二个参数中指定根节点名称,如下代码所示:

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

虽然如果你能给出json字符串那么很容易给出准确的答案。

参考链接:Converting JSON to XML

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 2017-11-24
    • 2014-11-11
    • 1970-01-01
    相关资源
    最近更新 更多