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)
主界面
随机推荐
- 20145219 《Java程序设计》第01周学习总结
20145219 <Java程序设计>第01周学习总结 教材学习内容总结 软件分类:系统软件(DOS.Windows.Linux等).应用软件(扫雷.QQ等) 人机交互方式:图形化界面.命 ...
- 《Pro Git》第2章 Git基础
1.获取Git仓库 1.1从现有的目录中初始化仓库 进入项目目录,git init,会创建一个名为.git的子目录 1.2克隆现有的仓库 git clone [url],会将远程Git仓库中的每一个文 ...
- centos 安装 谷歌BBR
使用root用户登录,运行以下命令: wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh ...
- Spring Boot 中全局异常处理器
Spring Boot 中全局异常处理器,就是把错误异常统一处理的方法.等价于Springmvc中的异常处理器. 步骤一:基于前面的springBoot入门小demo修改 步骤二:修改HelloCon ...
- CA认证_demo
CA认证,即电子认证服务 [1] ,是指为电子签名相关各方提供真实性.可靠性验证的活动. 证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构.是负责发放和管理数字 ...
- Mac下编译tesseract报错 DotProductAVX can't be used on Android
因为我的mac是64位的,所以用32位编译,执行的时候肯定会出错的. 所以应该在 arch/simddetect.cpp中把这句# define X86_BUILD 1 注释掉,就可以了. 参考 ht ...
- BOOST编译方法
Windowsbjam --toolset=msvc-9.0 --prefix=C:\vc9_boost\vc9 --build-type=complete link=static threading ...
- Android -- SQLite 数据库创建,增删改查,事务处理
1. 概述 在Android平台上,集成了一个嵌入式关系型数据库-SQLite,SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本)和BLOB(二进制对象)数据类 ...
- Map 的 key、value 是否允许为null
Map的key和value是否允许null? 直接写程序验证一下: import java.util.HashMap; import java.util.Hashtable; import java. ...
- SSH免密登录配置
SSH免密登录配置 本地生成密钥文件: $ ssh-keygen 输出: Generating public/private rsa key pair. Enter file in which to ...