读取xml文件转成List<T>对象的两种方法
来源:互联网 发布:知识树软件下载 编辑:程序博客网 时间:2024/05/16 16:18
xml格式如下:
<?xml version="1.0"?>
<products>
<product name="West Side Story" price="9.99" supplierId="1" />
<product name="Assassins" price="14.99" supplierId="2" />
<product name="Frogs" price="13.99" supplierId="1" />
<product name="Sweeney Todd" price="10.99" supplierId="3" />
</products>
product 对象如下:
public class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
public decimal SupplierId { get; set; }
}
利用.net中的XmlSerializer将xml转换成对象
1、首先要在Product、Products类中的每个属性上加上与xml对应的描述字段,如下代码:
[XmlRoot("products")] public class Products { [XmlElement("product")] public Product[] Items { get; set; } }
public class Product { [XmlAttribute(AttributeName = "name")] public string Name { get; set; } [XmlAttribute(AttributeName = "price")] public decimal Price { get; set; } [XmlAttribute(AttributeName = "supplierId")] public decimal SupplierId { get; set; } }
注意AttributeName一定要和xml中的一致。
2、相应的对应关系建立好了之后,下面就来进行读取反序列化,代码如下:
private static IList<Product> products=new List<Product>();
static LoadXml()
{
try
{
using (TextReader reader = new StreamReader("data.xml"))
{
var serializer = new XmlSerializer(typeof(Products));
var items = (Products)serializer.Deserialize(reader);
if (items != null)
{
products = items.Items;
}
}
}
catch (Exception ex)
{
Console.WriteLine("出错了," + ex.Message);
}
}
- 读取xml文件转成List<T>对象的两种方法
- 读取xml文件转成List<T>对象的两种方法(附源码)
- 读取xml文件转成List<T>对象的两种方法
- JAVA读取XML文件的两种方法
- Flex读取XML文件的两种方法
- Flex读取XML文件的两种方法
- Flex读取XML文件的两种方法
- spring读取xml的两种方法
- List对象转成Gson字符串(两种方式)
- .cvs文件读取转成对象
- 创建XML文件的两种方法
- 创建XML文件的两种方法
- 创建XML文件的两种方法
- 解析XML文件的两种方法
- java读取xml文件的两种方式
- java读取XML文件的两种方式
- 用Ext读取两种结构的xml方法
- 将List转成树的两种方式(递归、循环)
- iOS 7: 如何为iPhone 5S编译64位应用。
- Codeforces Round #219 (Div. 1)(完全)
- 鉴客 python发送HTTP请求
- html中input type="text" 的readonly 属性与asp.net服务器控件TextBox的readonly属性的js赋值、调用的小bug
- 算术表达式使用递归算法生成二叉树
- 读取xml文件转成List<T>对象的两种方法
- Levels of integration between the Portal for ArcGIS and the ArcGIS Server
- Visual Studio 2010项目中引用Lib静态库
- 读书笔记:maven生命周期和插件
- PreparedStatement与Statement区别
- Linux系统调用之open(), close()
- Linux键盘快捷键
- 分享30个最新的单页网站设计案例
- JS定时刷新页面及跳转页面