Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475思维导航:
- 前言
- 需要操作的Xml数据
- 一、通过是手写的方式去定义Xml的实体对象模型类
- 二、通过Visual Studio自带的生成Xml实体对象模型类
- 验证两个Xml类是否能够反序列化成功
- C# XML基础入门(XML文件内容增删改查清)
- C#XmlHelper帮助类操作Xml文档的通用方法汇总
- .NET中XML序列化和反序列化常用类和用来控制XML序列化的属性总结
文章正文:
🚀回到顶部## 前言
今天主要讲的是如何把通过接口获取到的Xml数据转换成(反序列化)我们想要的实体对象,当然Xml反序列化和Json反序列化的方式基本上都是大同小异。都是我们事先定义好对应的对应的Xml实体模型,不过Xml是通过XmlSerializer类的相关特性来对实体对象和 XML文档之间进行序列化和反序列化操作的。序列化和反序列化其实都还好,我们可以调用封装好的XmlHelper帮助类即可实现,最关键的是我们该如何去定义这些实体模型(Model)。当你遇到对方接口一下子返回一大串的Xml数据并且里面存在很多不同的Xml节点,你该怎么办一个一个去解析这些节点到模型上去吗?本文我主要讲两种方式,第一种方法是通过手写的方式去定义Xml的实体对象模型类,第二种方法是通过Visual Studio自带的生成Xml实体对象模型类。
🚀回到顶部## 需要操作的Xml数据
注意:以下是我稍微简化的Xml数据,实际数据可能比这里要复杂个大几倍。
</spanxml version="1.0" encoding="utf-8" ?>
<envelope>
<header>
<version port="1111" host="www.baidu.com">successfulyversion>
<timestamp>20211216081218timestamp>
header>
<response type="cities" product="hotel">
<cities>
<city>
<code value="zg" />
<city\_tax value="true" />
<names>
<name language="fr" value="ABANO TERME - PADOUE" />
<name language="en" value="ABANO TERME - PADUE" />
<name language="nl" value="ABANO TERME - PADUE" />
names>
city>
<city>
<code value="hk" />
<city\_tax value="false" />
<names>
<name language="fr" value