Linq:从XML获取数据
实体类
public class Customer
{
public string CustomerID { get; set; }
public string CompanyName { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string Region { get; set; }
public string PostalCode { get; set; }
public string Country { get; set; }
public string Phone { get; set; }
public string Fax { get; set; }
public Order[] Orders { get; set; }
13 public int CId{ get; set; } }
从XML中获取数据
public class LinqSamples
{
4 public List<Customer> GetList()
{
List<Customer> customerList = (
from e in XDocument.Load("Customers.xml").
Root.Elements("customer")
select new Customer
{
CustomerID = (string)e.Element("id"),
CompanyName = (string)e.Element("name"),
Address = (string)e.Element("address"),
City = (string)e.Element("city"),
CId= (int)e.Element("cid"),
PostalCode = (string)e.Element("postalcode"),
Country = (string)e.Element("country"),
Phone = (string)e.Element("phone"),
Fax = (string)e.Element("fax"),
Orders = (
from o in e.Elements("orders").Elements("order")
select new Order
{
OrderID = (int)o.Element("id"),
OrderDate = (DateTime)o.Element("orderdate"),
Total = (decimal)o.Element("total")
})
.ToArray()
})
.ToList();
return customerList;
}
}
XML数据文件
<?xml version="1.0"?>
<customers>
<customer>
<cid>1</cid>
<id>ALFKI</id>
<name>Alfreds Futterkiste</name>
<address>Obere Str. </address>
<city>Berlin</city>
<postalcode></postalcode>
<country>Germany</country>
<phone>-</phone>
<fax>-</fax>
<orders>
<order>
<id></id>
<orderdate>--25T00::</orderdate>
<total>814.50</total>
</order>
<order>
<id></id>
<orderdate>--03T00::</orderdate>
<total>878.00</total>
</order>
<order>
<id></id>
<orderdate>--13T00::</orderdate>
<total>330.00</total>
</order>
<order>
<id></id>
<orderdate>--15T00::</orderdate>
<total>845.80</total>
</order>
<order>
<id></id>
<orderdate>--16T00::</orderdate>
<total>471.20</total>
</order>
<order>
<id></id>
<orderdate>--09T00::</orderdate>
<total>933.50</total>
</order>
</orders>
</customer>
<customer>
<cid>2</cid>
<id>ANATR</id>
<name>Ana Trujillo Emparedados y helados</name>
<address>Avda. de la Constitución </address>
<city>México D.F.</city>
<postalcode></postalcode>
<country>Mexico</country>
<phone>() -</phone>
<fax>() -</fax>
<orders>
<order>
<id></id>
<orderdate>--18T00::</orderdate>
<total>88.80</total>
</order>
<order>
<id></id>
<orderdate>--08T00::</orderdate>
<total>479.75</total>
</order>
<order>
<id></id>
<orderdate>--28T00::</orderdate>
<total>320.00</total>
</order>
<order>
<id></id>
<orderdate>--04T00::</orderdate>
<total>514.40</total>
</order>
</orders>
</customer>
</customers>
内容源自:http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b
Linq:从XML获取数据的更多相关文章
- 用LINQ获取XML节点数据
Insus.NET想对<从字符串中获取XML节点数据> http://www.cnblogs.com/insus/p/3299052.html 这篇改写为使用LINQ的方法实现.LINQ中 ...
- wemall app商城源码Android 获取XML网络数据并绑定到ListView
wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享Android 获取XML网络数据并绑定到Li ...
- Android 开发 values目录里定义数组、颜色、文本、尺寸xml配置文件并且获取数据 附录Android符号转码表
以下xml都在res/values/文件夹下创建 创建String类型array: /app/src/main/res/values/array.xml <?xml version=" ...
- HttpClient获取返回类型为JSON或XML的数据
Java_HttpClient获取返回类型为JSON或XML的数据 原创 2017年04月06日 17:38:29 706 HttpClient 获取返回类型为JSON或XML的数据 使用httpco ...
- 使用LINQ的Skip和Take函数分批获取数据
Skip函数和Take函数是System.Linq对类Enumberable的扩展, 其中Skip函数是跳过序列中的前n个数据,参数为需要跳过的数据量, Take函数是取序列中的n个数据,参数为要获取 ...
- 从字符串中获取XML节点数据
从字符串中获取XML节点数据,前一篇<字符串创建XML文档> http://www.cnblogs.com/insus/p/3298579.html 是储存为一个XML文档.现在,Insu ...
- PHP生成和获取XML格式数据
在做数据接口时,我们通常要获取第三方数据接口或者给第三方提供数据接口,而这些数据格式通常是以XML或者JSON格式传输,本文将介绍如何使用PHP生成XML格式数据供第三方调用以及如何获取第三方提供的X ...
- python开发笔记-通过xml快捷获取数据
今天在做下python开发笔记之如何通过xml快捷获取数据,下面以调取nltk语料库为例: import nltk nltk.download() showing info https://raw.g ...
- c#操作xml文件(XmlDocument,XmlTextReader,Linq To Xml)
主界面
随机推荐
- 【HTML5校企公益课】第三天
1.上午2D.旋转变色的... 基本思路就是先写静态画面然后添加动画. <!--告诉浏览器该文件为网页格式--> <html> <!--网页的头部标签--> ...
- HTML5相册浏览插件
在线演示 本地下载
- Linux常用命令--文件(夹)查找之find命令
Linux系统用得越久,就会发现这真的是一个很优秀的系统,各种方便各种实用各种高效率. 晚饭前写一下find命令的笔记. 其实这篇笔记,也是看到一篇外文博客,写得不错,自己拿来练一练,然后才顺便写篇笔 ...
- React Native之持久化存储(AsyncStorage、react-native-storage)的使用
AsyncStorage是一个简单的.异步的.持久化的Key-Value存储系统,它对于App来说是全局性的.这是官网上对它的介绍.可以知道,这个asyncstorage也是以键值对的形式进行存储数据 ...
- NOIP 转圈游戏
描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此类推 ...
- LeetCode——single-number系列
LeetCode--single-number系列 Question 1 Given an array of integers, every element appears twice except ...
- python+senium+chrome的简单爬虫脚本
简述: 开始接触python写web自动化的脚本主要源于在公司订阅会议室,主要是使用python+selenium+chromedriver驱动chrome浏览器来完成的,其中部分python代码可以 ...
- Codeforces 9C Hexadecimal's Numbers - 有技巧的枚举
2017-08-01 21:35:53 writer:pprp 集训第一天:作为第一道题来讲,说了两种算法, 第一种是跟二进制数联系起来进行分析: 第二种是用深度搜索来做,虽然接触过深度搜索但是这种题 ...
- iOS CoreData (二) 版本升级和数据库迁移
前言:最近ChinaDaily项目需要迭代一个新版本,在这个版本中CoreData数据库模型上有新增表.实体字段的增加,那么在用户覆盖安装程序时就必须要进行CoreData数据库的版本升级和旧数据迁移 ...
- python学习笔记(virtualenv下载安装)
之前博客评论中有人建议我面对多个python版本的情况.可以使用virtualenv这个python虚拟沙盒 首页是利用pip下载.关于pip如何下载安装前面的博客中已经提到就不细说 cmd直接进入p ...