实体类

 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获取数据的更多相关文章

  1. 用LINQ获取XML节点数据

    Insus.NET想对<从字符串中获取XML节点数据> http://www.cnblogs.com/insus/p/3299052.html 这篇改写为使用LINQ的方法实现.LINQ中 ...

  2. wemall app商城源码Android 获取XML网络数据并绑定到ListView

    wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享Android 获取XML网络数据并绑定到Li ...

  3. Android 开发 values目录里定义数组、颜色、文本、尺寸xml配置文件并且获取数据 附录Android符号转码表

    以下xml都在res/values/文件夹下创建 创建String类型array: /app/src/main/res/values/array.xml <?xml version=" ...

  4. HttpClient获取返回类型为JSON或XML的数据

    Java_HttpClient获取返回类型为JSON或XML的数据 原创 2017年04月06日 17:38:29 706 HttpClient 获取返回类型为JSON或XML的数据 使用httpco ...

  5. 使用LINQ的Skip和Take函数分批获取数据

    Skip函数和Take函数是System.Linq对类Enumberable的扩展, 其中Skip函数是跳过序列中的前n个数据,参数为需要跳过的数据量, Take函数是取序列中的n个数据,参数为要获取 ...

  6. 从字符串中获取XML节点数据

    从字符串中获取XML节点数据,前一篇<字符串创建XML文档> http://www.cnblogs.com/insus/p/3298579.html 是储存为一个XML文档.现在,Insu ...

  7. PHP生成和获取XML格式数据

    在做数据接口时,我们通常要获取第三方数据接口或者给第三方提供数据接口,而这些数据格式通常是以XML或者JSON格式传输,本文将介绍如何使用PHP生成XML格式数据供第三方调用以及如何获取第三方提供的X ...

  8. python开发笔记-通过xml快捷获取数据

    今天在做下python开发笔记之如何通过xml快捷获取数据,下面以调取nltk语料库为例: import nltk nltk.download() showing info https://raw.g ...

  9. c#操作xml文件(XmlDocument,XmlTextReader,Linq To Xml)

    主界面

随机推荐

  1. SVN使用—常用命令及避免冲突的方法

    一.SVN启动 [root@localhost ~]# mkdir /data/svn [root@localhost ~]# svnadmin create /data/svn/test [root ...

  2. python_初步

    官网地址:http://www.python.org/ Python最新源码,二进制文档,新闻资讯 Python文档下载地址:www.python.org/doc/ python教程:http://w ...

  3. shell脚本多进程

    shell脚本再执行过程中就一个进程,从头到尾 下面配置shell脚本执行过程中启动多个进程同时执行 #!/bin/bash for ((i=1;i<=10;i++)) do ( echo &q ...

  4. vs2017创建dotnetcore web项目,并部署到centos7上

    一.打开vs2017创建web项目 二.简单的创建项目后,发布项目 三. 在centos上创建webroot目录,将发布的项目文件复制到该目录下(本人用虚拟机测试) 四.在webroot目录下打开终端 ...

  5. 低版本C++ string的万能转换,从long string 之间的转换来看看

    string 转 long 那必须是万年atoi(),不过得配合c_str()使用! [plain] view plain copy #include <string> #include  ...

  6. 远程桌面.【转】Win10 家庭(home)版启用远程桌面(Remote Desktop)功能

    ZC:YeJun的台式机是 Win10家庭版,默认我们想连上她的电脑是连不上的,用下面的方式,我的笔记本可以连上了 ZC:我的下载资料,存放于 "E:\BaiduYunDownload\Wi ...

  7. cmake的使用方法

    4. CMakeLists.txt剖析4.1 cmake_minimum_required命令 cmake_minimum_required (VERSION 2.6) 规定cmake程序的最低版本. ...

  8. Android获取所有应用的资源id和对应的uri

    背景 在某些应用中,为了实现应用apk资源放入重复利用,或者使用反射得到本应用的资源,需要使用反射方式获得,但Resources类中也自带了这种获取方式,并且功能更加强大 你可以获取string,co ...

  9. 使用ssm整合是创建Maven项目报错Failure to transfer com.thoughtworks.xstream:xstream:pom:1.3.1

    Description Resource Path Location TypeFailure to transfer com.thoughtworks.xstream:xstream:pom:1.3. ...

  10. android视图概述

    android视图概述 一.简介 数据和控件分开的作用: 便于引用 便于修改:修改的时候直接改一次数据就可以了