.NET框架提供了System.Xml.Serialization.XmlSerializer类型,为将对象序列化为XML或将XML序列化为对象提供了很大支持

先定义一个InspectionType类

<Xml.Serialization.XmlRoot("TownInspectionType")> _   'TownInspectionType是root 节点,也可以是 xml 某个节点。

Public Class InspectionType
Public FirstName As String
Public LastName As String
End Class

要解析的xml 例子

<?xml version="1.0"?>
<TownInspectionType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<FirstName>John</FirstName>
<LastName>Evans</LastName>
</TownInspectionType>

OR

<TownInspectionType>
<FirstName>John</FirstName>
<LastName>Evans</LastName>
</TownInspectionType>

下面是定义好的泛型,其中xml 是需要反序列化的节点,T是Model的类型,例子中是TownInspectionType,它包括了两个字段。

Public Class DeSerializer(Of T)
Public Function DeserializeXML(ByVal xml As String) As T
Dim ser As New XmlSerializer(GetType(T))
Using ms As New MemoryStream(Encoding.Default.GetBytes(xml))
Using r As New StreamReader(ms)
Dim obj As T = DirectCast(ser.Deserialize(r), T)
Return obj
End Using
End Using
End Function
End Class

下面是调用:

Dim serializer = New DeSerializer(Of InspectionType)
Dim TownInspectionTypeModel As InspectionType= serializer.DeserializeXML(townInspectionTypesChildNode.InterXml)

这里只是给出了 反序列化单一的Model 如果xml 是:

<TownInspectionTypes>

<TownInspectionType>
<FirstName>John</FirstName>
<LastName>Evans</LastName>
</TownInspectionType>

<TownInspectionType>
<FirstName>lili</FirstName>
<LastName>denvy</LastName>
</TownInspectionType>

</TownInspectionTypes>

能否把TownInspectionType 转化成一个List(of TownInspectionType)形式呢? 欢迎抛砖!

转载于:https://www.cnblogs.com/wwzhang/p/5130767.html

VB 泛型 T 应用相关推荐

  1. VB.NET2005通过泛型实现的KMP查找算法

    增强型的模式匹配算法,KMP查找算法VB.NET 2005泛型实现.也不知道用的对不对,但是个人感觉好像是对的.不过做测试的时候发现如果是字符串(字符数组)的匹配,用KMP算法比.NET自己的Stri ...

  2. C#泛型集合之Dictionaryk, v使用技巧

    1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) 2.描述 1).从一组键(Key)到一组值(Value) ...

  3. 结合泛型与模板的STL.NET

    开始之前,先来看一个笑话,当问一个C++程序员怎样完成一个给定的任务时,他(她)可能会提供一打或更多的潜在解决方案列表,但又会极其详细地标出每种方案的问题之处,让你不知所措,难以选择.而Visual ...

  4. C#中的集合、哈希表、泛型集合、字典

    集合ArrayList 集合:集合可以看做是数组,可以将其看成"长度可变,具有很多方法的数组".使用ArrayList,首先需要导入命名空间using.system.collect ...

  5. 值类型、引用类型和泛型的前世今生

    值类型.引用类型和泛型 多语言 咱们先不说主题,先说说CLR支持多语言. .net有个非常强大的特点,那就是跨语言,支持很多语言,比如C#.J#等.先来个图看一看 C# J# VB 等等等

  6. 泛型技巧系列:类型字典和Type Traits

    注意:未经许可,本系列禁止转载. 本文所介绍的技巧,是我在研究泛型开发不久就发现并成功运用的技巧.这个技巧是突破.NET泛型限制,达到"看上去很美"境界的法宝.当然本方法也存在重大 ...

  7. 集合Collection以及泛型

    2019独角兽企业重金招聘Python工程师标准>>> 添加元素boolean add(E e):集合元素数量int size():判断集合是否为空boolean isEmpty() ...

  8. .NET 4.0中的泛型协变和反变

    随Visual Studio 2010 CTP亮相的C#4和VB10,虽然在支持语言新特性方面走了相当不一样的两条路:C#着重增加后期绑定和与动态语言相容的若干特性,VB10着重简化语言和提高抽象能力 ...

  9. 泛型与继承的关系,通配符

    1 若类A是类B的子类,那么List<A>就不是List<B>的子接口 2 通配符:List[A],List[B]...都是List<?>的子类 extends A ...

最新文章

  1. DeepFaceDrawing: 使用草图生成人脸图像
  2. lnmp php fpm 默认,LNMP(PHP-FPM)
  3. 使用SSH执行远程登录
  4. python2clock_控制fps的时钟Clock类源码
  5. mysql表级锁和行级锁_MySQL表级锁和行级锁
  6. 阿里云ddns解决动态IP问题
  7. Windows程序设计之基本介绍
  8. 基于PHP的新闻管理系统(基础版)
  9. vc2008不安装vcredist发布程序
  10. STM32_OLED显示
  11. 案例|工业物联网解决方案•污水处理厂智能监控运维云平台
  12. minecraft服务器stats文件夹,[教程]Minecraft 文件夹目录索引及各部分作用
  13. 向量和矩阵求导(运用迹性质求导)
  14. Functional ALV系列 (05) - ALV 作为数据编辑界面
  15. 未来的主流NewIT,埃森哲最佳实践
  16. 各种素材网站大全【全部倾倒,福利倒计时-JS,HTML,游戏素材,UI,图片素材等
  17. GPT模型成功的背后用到了哪些以数据为中心的人工智能技术?
  18. 基于NVIDIA Xavier NX(ubuntu20.04)的Optitrack视觉定位 PX4+ros noetic(实物运行记录)
  19. 库迪咖啡抖音团购对接项目总结
  20. Android摄像头测量尺(Advanced Ruler Pro)使用方法

热门文章

  1. Oracle索引状态查询与索引重建
  2. MYSQL8.0 排序查询报错 this is incompatible with sql_mode=only_full_group_by
  3. MVC项目实践,在三层架构下实现SportsStore-06,实现购物车
  4. Vue method与computed的区别
  5. Amazon WorkSpaces现支持Amazon Linux 2 Desktop
  6. 香蕉派 Banana pi BPI-M1+ 双核开源单板计算机. 板载WIFI
  7. 使用SQL Storage Compress压缩SQL Server 数据库文件
  8. MS CRM 4中,添加营销列表成员查找列
  9. 很高兴,自己申请到了一个.net的blog
  10. X86汇编语言从实模式到保护模式12:存储器的保护