
能力说明:
了解Python语言的基本特性、编程环境的搭建、语法基础、算法基础等,了解Python的基本数据结构,对Python的网络编程与Web开发技术具备初步的知识,了解常用开发框架的基本特性,以及Python爬虫的基础知识。
暂时未有相关云产品技术能力~
阿里云技能认证
详细说明如何新建WebApi项目就不用我介绍了吧。 直接进入正题。 首先,在.net平台不论要接收什么,肯定是从Request里获取。 大家肯定对普通的参数获取非常熟悉了,下面就介绍一下如何从Request获取文件流. System.IO.Stream sm =Request.Content.ReadAsStreamAsync().Result 这个方法返回的是一个System.IO.Stream类型,如果是单纯想获得文件,到这一步你就可以把它保存到本地了。 这时候有些同学可能就要问了,要用什么方式读取里面的数据呢? 下面为大家介绍几种方式解析xml数据流: 转换为string类型: int len = (int)sm.Length; byte[] inputByts = new byte[len]; sm.Read(inputByts, 0, len); sm.Close(); string data = Encoding.GetEncoding("utf-8").GetString(inputByts); 2.转换为XmlDocument(需要先用第一个方法转为string): XmlDocument xmlDocument=new XmlDocument(); xmlDocument.LoadXml(data ); 3.转为对象: 方法一: 首先为xml所有含有子节点的节点创建对应的类和字段,节点里包含有子节点的节点的,用该节点对应的类作为字段类型。 下面附例子: xml数据: <?xml version="1.0" encoding="UTF-8" ?> <ws:Worker_Sync xmlns:ws="http://www.w3.org/2001/XMLSchema-instance"> <ws:Worker> <ws:Summary> <ws:ID>02741</ws:ID> <ws:Name>Tina</ws:Name> </ws:Summary> <ws:Age>true</ws:Age> </Worker> <ws:Worker> <ws:Summary> <ws:ID>02741</ws:ID> <ws:Name>Tina</ws:Name> </ws:Summary> <ws:Age>true</ws:Age> </Worker> </Worker_Sync> 跟据xml我们可以知道需要创建三个Class,分别对应StudentSync、Student和Summary节点。 把类创建好之后,我们需要给它加上注解: [System.Xml.Serialization.XmlRoot(ElementName ="Student_Sync", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] public class Student_Sync { [System.Xml.Serialization.XmlElement("Student")] public Student[] Students { get; set; } } 这里可能大家有注意到Student用的是Student[],这是因为在XML中有多个Student节点。 Student中与之类似: [System.Xml.Serialization.XmlRoot("Student")] public class Student { [System.Xml.Serialization.XmlElement("Summary")] public Summary Summary { get; set; } [System.Xml.Serialization.XmlElement("Age")] public int Age { get; set; } } Summary: [System.Xml.Serialization.XmlRoot("Summary")] public class Summary { [System.Xml.Serialization.XmlElement("ID")] public string ID { get; set; } [System.Xml.Serialization.XmlElement("Name")] public string Name { get; set; } } Class创建完毕后,就可以进行转换了,这里我们使用XmlSerializer: var serializer = new XmlSerializer(typeof(Student_Sync)); var Student_SyncItem = (Student_Sync)serializer.Deserialize(sm); 转换完成! 方法二: 使用Linq进行转换(这种方式不大用,就直接贴代码了,跟上面没关系哦!): /// /// Linq方式加载 /// /// /// private void Button_Click_3(object sender, RoutedEventArgs e) { //ClassDemo作为根节点会出现找不到的情况,所以加了个Config根节点 List _demo = (from item in XElement.Load("XmlDemo2.xml").Elements("ClassDemo") select new ClassDemo() { Name = item.Element("Name").Value, Members = (from mem in item.Element("Members").Elements() select mem.Value).ToList(), Children = (from child in item.Element("Children").Elements() select new ClassChild() { ID = child.Element("ID").Value, Name = child.Element("Name").Value }).ToList() } ).ToList(); MessageBox.Show("加载成功!"); } 如果本文能帮助到你,我会感到万分荣幸~ 感谢每一位收藏本站的小可爱@_@ 转载请声明出处: 本文首发地址:https://www.fhcollege.com/FHCollege/Single?FHS_Post_Id=880a0f91-104c-4bf9-b41e-adc47894ae2a 本站地址:https://www.fhcollege.com
原文地址:【原创】.Net使用委托讲解-入门 什么是委托? 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。 委托的使用方法也很简单,下面为大家演示一下:“ 1.声明委托 首先需要声明一个委托,我给他取名叫PortRun /// <summary> /// 声明委托 /// </summary> private delegate void PortRun(); 2.声明方法 咱们用委托的最终结果是调用咱们想用的方法,所以把方法声明一下,我这里呢写了个changelText1方法 private void changeText1() { Text1.Text="aaa"; } 3.使用委托 接下来就是是用委托了,很简单,把方法名放进实例化的委托里,调用就可以了 var portrun = new PortRun(changelable);//将方法放入委托 this.Invoke(portrun);//执行委托的方法 是不是很简单呢,觉得还可以的话请点个赞把~ 后续会发关于委托的各种使用场景的使用讲解~ 个人网站:https://www.fhcollege.com 百度搜索“凤凰社”与我互动!