且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

UWP-HttpClient

更新时间:2022-10-02 12:56:32

原文:UWP-HttpClient

基本格式:

                HttpClient client = new HttpClient();
                Uri uri = new Uri(url);

                HttpResponseMessage response = await client.GetAsync(uri);
                response.EnsureSuccessStatusCode();

                string str = await response.Content.ReadAsStringAsync();

若得到Json数据:

  可以通过以下方法方便的转换到类中:

       var jsonMessage = await response.Content.ReadAsStringAsync();

            var serializer = new DataContractJsonSerializer(typeof(JsonClass));//在json2csharp中转换过来的类
            var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonMessage));

            var result = (JsonClass)serializer.ReadObject(ms);

若得到Xml数据:

  可以通过遍历节点将数据一个个手动存放到类中:

string xml = await response.Content.ReadAsStringAsync();
if (xml != null)
{
	List<CNBlog> list_blogs = new List<CNBlog>();
	CNBlog cnblog;
	XmlDocument doc = new XmlDocument();
	doc.LoadXml(xml);
	XmlNode feed = doc.ChildNodes[1];
	foreach (XmlNode node in feed.ChildNodes)
	{
		if (node.Name.Equals("entry"))
		{
			cnblog = new CNBlog();
			foreach (XmlNode node2 in node.ChildNodes)
			{
				if (node2.Name.Equals("id"))
				{
					cnblog.ID = node2.InnerText;
				}
				if (node2.Name.Equals("title"))
				{
					cnblog.Title = node2.InnerText;
				}
				if (node2.Name.Equals("summary"))
				{
					cnblog.Summary = node2.InnerText + "...";
				}
			}
			list_blogs.Add(cnblog);
		}
	}
}

  XML的数据如下:

  <?xml version="1.0" encoding="utf-8" ?> 
- <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text">博客园</title> 
  <id>uuid:09b99565-46b8-4767-ad8d-ea0283b7b1ac;id=41476</id> 
  <updated>2016-05-22T03:01:05Z</updated> 
  <link href="http://www.cnblogs.com/" /> 
- <entry>//一段的入口
  <id>5516348</id> 
  <title type="text">教你如何剖析源码</title> 
  <summary type="text">有近千行代码。看着都崩溃了。。。</summary> 
  <published>2016-05-22T11:00:00+08:00</published> 
  <updated>2016-05-22T03:01:05Z</updated> 
- <author>
  <name>狼行博客园</name> 
  <uri>http://www.cnblogs.com/lang5230/</uri> 
  <avatar>http://pic.cnblogs.com/face/835234/20151119122152.png</avatar> 
  </author>
  <link rel="alternate" href="http://www.cnblogs.com/lang5230/p/5516348.html" /> 
  <blogapp>lang5230</blogapp> 
  <diggs>0</diggs> 
  <views>1</views> 
  <comments>0</comments> 
  </entry>

 

相关阅读