从XML而不是JSON C#asp.net中读取

本文关键字:C#asp net 读取 JSON XML | 更新日期: 2023-09-27 18:16:18

Hi,

今天,我有一个代码可以从URL中检索JSON数据。它工作得很好。

但现在我想做同样的事情,但我想从XML而不是JSON中检索。

我该如何做到最好?

提前感谢

Json URL:http://api.namnapi.se/v2/names.json?limit=3
XML网址:http://api.namnapi.se/v2/names.xml?limit=3

    public class Data
    {
        public List<Objects> names { get; set; }
    }
    public class Objects
    {
        public string firstname { get; set; }
        public string surname { get; set; }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        WebClient client = new WebClient();
        string json = client.DownloadString("http://api.namnapi.se/v2/names.json?limit=3");
        Data result = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<Data>(json);
        foreach (var item in result.names)
        {
            Label.Text += (item.firstname + " " + item.surname + "<br />");
        }
    }

从XML而不是JSON C#asp.net中读取

有几种方法可以在C#中解析XML。

例如,您可以使用XmlDocument:

WebClient client = new WebClient();
string xml = client.DownloadString("http://api.namnapi.se/v2/names.xml?limit=3");
XmlDocument document = new XmlDocument();
document.LoadXml(xml);
foreach (XmlElement node in document.SelectNodes("names/name"))
{
    Label.Text += String.Format("{0} {1}<br/>", 
        node.SelectSingleNode("firstname").InnerText,  
        node.SelectSingleNode("lastname"));
}

还有一些方法,如使用XmlSerializer将XML序列化为自己的类XmlTextReaderLinq2Xml等。选择最合适的方法。

阅读更多关于C#中XML解析的信息:

如何在C#中读取和解析XML文件
XML解析-读取一个简单的XML文件并检索值

在Stackoverflow和其他互联网资源上有很多关于这个主题的信息。

p.S.在我看来,最好使用JSON,因为它可以节省高达千兆字节的网络流量。