如何将类序列化为XML

时间:2018-12-05 04:31:27

标签: c# json xml

如何将此类转换为XML?还是有什么可能的方法可以将同一类的JSON字符串直接转换为XML?我没有从转换开始的想法或示例代码。

public class Contacts
        {
            public Datum[] data { get; set; }
            public Info info { get; set; }
        }
public class Datum
        {
            public Owner Owner { get; set; }
            public object Email { get; set; }
            public string Description { get; set; }
            public string currency_symbol { get; set; }
            public string Mailing_Zip { get; set; }
}
 public class Owner
        {
            public string name { get; set; }
            public string id { get; set; }
        }

public class Info
        {
            public int per_page { get; set; }
            public int count { get; set; }
            public int page { get; set; }
            public bool more_records { get; set; }
        }

请帮助将类转换为XML或将基于上述类的JSON字符串直接转换为XML。

这种情况是,我从API接收到JSON结果,并且需要在将数据类型保存为XML的SQL Server中处理该结果。我希望这可以成功实现。

2 个答案:

答案 0 :(得分:0)

有很多在线资源可以轻松地将c#属性转换为JSON或XML,也可以尝试thisthis以及JSON至XML转换器this

更新 如果您想在代码内进行转换,请尝试以下方法。 p.s(使用Json.NET)

string json = //set your result JSON from the web API call;

XNode node = JsonConvert.DeserializeXNode(json, "Root");

Console.WriteLine(node.ToString());

这会将您的Json转换为XML

答案 1 :(得分:0)

我解决了将JSON转换为Class对象并从Class对象序列化XML的问题。

public static string GetXMLFromObject(object o)
        {
            StringWriter sw = new StringWriter();
            XmlTextWriter tw = null;
            try
            {
                XmlSerializer serializer = new XmlSerializer(o.GetType());
                tw = new XmlTextWriter(sw);
                serializer.Serialize(tw, o);
            }
            catch (Exception ex)
            {
                //Handle Exception Code
            }
            finally
            {
                sw.Close();
                if (tw != null)
                {
                    tw.Close();
                }
            }
            return sw.ToString();
        }