【问题标题】:Creating xml from API response从 API 响应创建 xml
【发布时间】:2016-08-09 13:33:38
【问题描述】:

我有以下应用程序用于发出以 JSON 格式返回数据的 GET 请求:

class Program
{
    static void Main(string[] args)
    {
        RunAsync().Wait();
    }

    static async Task RunAsync()
    {
        using (var client = new HttpClient())
        {
            //Send HTTP request
            client.BaseAddress = new Uri("httpMyURI");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = await client.GetAsync("api/people/.....");

            if (response.IsSuccessStatusCode)
            {
                var person = response.Content.ReadAsAsync<IEnumerable<Persons>>().Result;

                foreach (var i in person)
                {
                    Console.WriteLine("{0}\t{1}-{2}", i.FirstName, i.LastName, i.Peopleid); 
                }
            }
        }
    }
}

class Persons
{
    public string Peopleid { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

如何根据我得到的结果创建一个 xml 文件?我想我首先必须将 JSON 转换为 xml,然后创建一个 XML 文件?

【问题讨论】:

    标签: c# json xml jsonresponse


    【解决方案1】:

    您可以使用 Newtonsoft Json.NET 库轻松完成此操作。 看一个例子:http://www.newtonsoft.com/json/help/html/convertingjsonandxml.htm

    你所追求的那一行是

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

    【讨论】:

    • 我应该在 DeserializeXmlNode 方法中插入什么参数?
    • 您从回复中收到的 json 字符串。所以它会像XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(response.Content);
    • 我使用 response.Content.ToString() 作为参数,它似乎工作,但后来我得到一个运行时错误说:“未处理的异常 [......] 遇到意外的字符解析值:$.Path '', line 0, position 0. 也指我的 'XmlDocument doc =[..] 行和 Runasync().Wait(); 行。有什么关系:“因为有效的 XML 必须有一个根元素,传递给 DeserializeXmlNode 的 JSON 在根 JSON 对象中应该有一个属性”?
    猜你喜欢
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多