首页 > 反序列化xml

反序列化xml

我是.net 菜鸟。

今天学习一下反序列化xml,即将xml文件转换成程序更好识别的对象。

下面来看一个例子。这是一个xml文件。

urgent="number">urgent contactor's number

urgent="number">>apartment number

 好了,这是一个比较简单的xml文件。

现在开始写反序列化的操作。

在你的实现类中写一个方法

public class ChangeXml{

public static T DeserializeObject(string xml)

        {

            var str= new StringReader(xml);

            var xmlSerializer= new XmlSerializer(typeof(T));

            var result= (T)xmlSerializer.Deserialize(str);

            return result;

        }

}

[XmlType(TypeName = "xml")]

    public class XmlElement

    {

        [XmlArray("Students", IsNullable = false)]

        [XmlArrayItem("Student", IsNullable = false)]

        public List Students{ get; set; }

    }

 public class StudentElement

    {

       

        [XmlArray("fields", IsNullable = false)]

        [XmlArrayItem("field", IsNullable = false)]

        public List fields{ get; set; }

        [XmlArray("contact", IsNullable = false)]

        [XMLAttribute("value")

        public string value{get;set;}

        [XmlArrayItem("telephone", IsNullable = false)]

        public List contact{ get; set; } 

}

 

 public class PhoneElement

{

        [XmlAttribute("type")]

        public string type{ get; set; }

        [XmlText]

        public string Value { get; set; }

  }

  

最后调用DeserializeObject()方法就行了

转载于:https://www.cnblogs.com/qiny/archive/2013/04/02/2995794.html

更多相关:

  • 在.Net Framework中,配置文件一般采用的是XML格式的,.NET Framework提供了专门的ConfigurationManager来读取配置文件的内容,.net core中推荐使用json格式的配置文件,那么在.net core中该如何读取json文件呢?1、在Startup类中读取json配置文件1、使用Confi...

  •   1 public class FrameSubject extends JFrame {   2    3   …………..   4    5   //因为无法使用多重继承,这儿就只能使用对象组合的方式来引入一个   6    7   //java.util.Observerable对象了。   8    9   DateSub...

  • 本案例主要说明如何使用NSwag 工具使用桌面工具快速生成c# 客户端代码、快速的访问Web Api。 NSwagStudio 下载地址 比较强大、可以生成TypeScript、WebApi Controller、CSharp Client  1、运行WebApi项目  URL http://yourserver/swagger 然后...

  •   在绑定完Action的所有参数后,WebAPI并不会马上执行该方法,而要对参数进行验证,以保证输入的合法性.   ModelState 在ApiController中一个ModelState属性用来获取参数验证结果.   public abstract class ApiController : IHttpController,...

  • 1# 引用  C:AVEVAMarineOH12.1.SP4Aveva.ApplicationFramework.dll C:AVEVAMarineOH12.1.SP4Aveva.ApplicationFramework.Presentation.dll 2# 引用命名空间, using Aveva.Applicati...

  • 转自https://github.com/SXHSine/Mitsuba-Usage-with-Python27 # -*- coding: UTF-8 -*- import os import sys # NOTE: remember to specify paths using FORWARD slashes (i.e. '/'...

  • xml的格式如下,就是通过<>节点来区别数据结构的: 22008141100

    .NET调用JAVA的WebService方法

      调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,在网上也有相关资料,但是都整理的不够清晰明了。根据网上的资料,个人也对各种方法进行了尝试,费了不少精力,为此特将自己的解决方法进行总结一下,以备以后需要...

  •  FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主.         一.FOR XML PATH 简单介绍              那么还是首先来介绍一下FOR XML PATH...

  • 导读:在前面介绍了很多关于XML和HTML的东西,他们其实各有各的好处,在很多时候都需要结合起来使用。现在已经有XML和HTML结合的产物:XHTML(可扩展超文本标记语言)。在本篇博客中,则主要介绍通过引入命名空间的方法,进行XML和HTML混合使用的例子。 一、在XML中使用HTML 1.1,代码

    在Linux上利用python获取本机ip

    下面介绍在Linux上利用python获取本机ip的方法. 经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码: #!/usr/bin/env python #encoding: utf-8 #description: get local...

  • python 2.7.6urllib:发送报文并得到responseBeautifulSoup:解析报文的body(html)#encoding=UTF-8 from bs4 import BeautifulSoup from urllib import urlopen import urlliblist_no_results=[]...