假如有以下XML:

<?xml version="1.0" encoding="utf-8" ?>
-   <export>
-     <packages>
-       <package id="111670618065528135">
          <path>D:\888\</path>
-         <files>
-           <file id="111670623796596151">
              <path>\韩寒_要自由.htm</path>
              <category>民主</category>
          </file>
-           <file id="111670623796594149">
            <path>\谈谈韩寒三论.htm</path>
            <category>民主\中国</category>
          </file>
-           <file id="111670623796595150">
            <path>\韩寒_我的2011.htm</path>
            <category>民主\中国</category>
           </file>
-           <file id="111670623796596151">
            <path>\韩寒_要自由.htm</path>
            <category>民主\中国</category>
          </file>
-           <file id="111670623796597152">
            <path>\韩寒_说民主.htm</path>
            <category>民主\中国</category>
          </file>
-           <file id="111670623796599153">
            <path>\韩寒_谈革命.htm</path>
            <category>民主\中国</category>
          </file>
        </files>
        <files>

-           <file id="111670623796596151">
              <path>\韩寒_要自由.htm</path>
              <category>民主</category>
          </file>
-           <file id="111670623796594149">
            <path>\谈谈韩寒三论.htm</path>
            <category>民主\中国</category>
          </file>
-           <file id="111670623796595150">
            <path>\韩寒_我的2011.htm</path>
            <category>民主\中国</category>
           </file>
          </files>
        </package>
       <package id="111670618065528135">

          <path>D:\888\</path>
-         <files>
-           <file id="111670623796596151">
              <path>\韩寒_要自由.htm</path>
              <category>民主</category>
          </file>
-           <file id="111670623796594149">
            <path>\谈谈韩寒三论.htm</path>
            <category>民主\中国</category>
          </file>
        </files>
      </package>
      </packages>
    </export>
 
可采用以下方式进行读取
 
 class Program
    {
        public static XElement InitializeXMLDate()
        {
            string XMLPath = @"D:\附件1 - 副本.xml";
            if(!File.Exists(XMLPath))             {
                throw new FileNotFoundException("The XML data file is missing");
            }             XElement data = XElement.Parse(File.ReadAllText(XMLPath));
            return data;
        }         static void Main(string[] args)
        {             var packages = InitializeXMLDate().Elements().Where(element => element.Name.ToString() == "packages");
            foreach (var package in packages.Elements())
            {
                Console.WriteLine(package.Attribute("id").Value);
                Console.WriteLine(package.Element("path").Value);
               // var files = package.Elements().Where(element => element.Name.ToString()=="file");
                foreach (var file in package.Elements().Where(element => element.Name.ToString()=="files"))
                {
                    foreach (var property in file.Elements().Where(element => element.Name.ToString() == "file"))
                    {
                        Console.WriteLine(string.Format("{0}--------{1}", property.Element("path").Value, property.Element("category").Value));
                    }
                    Console.WriteLine("****");
                }
                Console.WriteLine("-----------------------------------");
            }             Console.ReadKey();
        }
    }
 

Linq to XML的练习的更多相关文章

  1. LINQ系列:LINQ to XML类

    LINQ to XML由System.Xml.Linq namespace实现,该namespace包含处理XML时用到的所有类.在使用LINQ to XML时需要添加System.Xml.Linq. ...

  2. LINQ系列:LINQ to XML操作

    LINQ to XML操作XML文件的方法,如创建XML文件.添加新的元素到XML文件中.修改XML文件中的元素.删除XML文件中的元素等. 1. 创建XML文件 string xmlFilePath ...

  3. LINQ系列:LINQ to XML查询

    1. 读取XML文件 XDocument和XElement类都提供了导入XML文件的Load()方法,可以读取XML文件的内容,并转换为XDocument或XElement类的实例. 示例XML文件: ...

  4. Linq to Xml读取复杂xml(带命名空间)

    前言:xml的操作方式有多种,但要论使用频繁程度,博主用得最多的还是Linq to xml的方式,觉得它使用起来很方便,就用那么几个方法就能完成简单xml的读写.之前做的一个项目有一个很变态的需求:C ...

  5. [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界

    本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...

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

    主界面

  7. Linq对XML的简单操作

    前两章介绍了关于Linq创建.解析SOAP格式的XML,在实际运用中,可能会对xml进行一些其它的操作,比如基础的增删该查,而操作对象首先需要获取对象,针对于DOM操作来说,Linq确实方便了不少,如 ...

  8. LINQ to XML 编程基础

    1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: 隐藏行号 复制代码 ?创建 XML public static void CreateDocumen ...

  9. XML基础学习02<linq to xml>

    Linq to XML的理解 1:这是一种比较好的操作Xml的工具. àXDocument 文档 àXElement 元素 àXAttribute 属性 àXText 文本 2:这里还是和我们之前创建 ...

  10. C# ~ 从 XML 到 Linq 到 Linq to XML

    .XML 可扩展标记语言 (Extensible Markup Language), 标记 (markup) 是关键部分,是标准通用标记语言 (Standard Generalized Markup ...

随机推荐

  1. Codeforces Round #306 (Div. 2) C

    意甲冠军 到不超过一个更100该整数字符串.采取随机从数间(不能拿). 问:是否有可能被剩下8除尽.假设能,出口YES和任选一个数字的其余病例的. 不能够,输出NO. 思路 想法题. 首先观察到.10 ...

  2. android layout物业介绍

    android:id 为控件指定对应的ID android:text 指定控件其中显示的文字,须要注意的是,这里尽量使用strings.xml文件其中的字符串 android:gravity 指定Vi ...

  3. I2C驱动程序框架probe道路

    基于Linux的I2C驱动器.采纳probe道路.根据这个框架,如下面就可以写任何支持I2C总线设备Linux驱动器. I2C设备连接到cpu具体i2c接口.被安装在cpu的i2c适配器.i2c设备和 ...

  4. VC各种方法获得的窗口句柄

    AfxGetMainWnd AfxGetMainWnd获取窗口句柄本身 HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow 功能:子窗体z序(Z序 ...

  5. 学SpringMVC

    http://jinnianshilongnian.iteye.com/blog/1593441

  6. update值与原值相同时,SQL Server会真的去update还是忽略呢?

    原文:update值与原值相同时,SQL Server会真的去update还是忽略呢? 考虑下面的情况: 当update值与原值相同时,SQL Server会真的去update还是忽略?例如: upd ...

  7. 解决VS 于 致命错误 RC1015: 无法打开包含文件 &#39;afxres.h&#39; 问题

    在试验VS2010当一个问题困扰了我,它是开放的c++项目达产后,rc的dialog入口.您不能拖动控制,让我疯狂... 而最有发言权的是在线Directions问题. .题明显不是这个问题. 于是我 ...

  8. HDU 1080 Human Gene Functions--DP--(变形最长公共子)

    意甲冠军:该基因序列的两端相匹配,四种不同的核苷酸TCGA有不同的分值匹配.例如T-G比分是-2,它也可以被加入到空格,空洞格并且还具有一个相应的核苷酸匹配分值,求最大比分 分析: 在空气中的困难格的 ...

  9. [CLR via C#]1.4 执行程序集的代码

    原文:[CLR via C#]1.4 执行程序集的代码 1. 托管程序集同时包含元数据和IL.IL是与CPU无关的机器语言.可将IL是为一种面向对象的机器语言. 2. IL也是能使用汇编语言来写的,M ...

  10. java语言内部类和匿名内部类

    内部类 在类定义也有类,在该类上的内部被称为一个内部类. 访问功能: 1,内部类可以直接访问外部类成员,它包含私有成员 2,外部类需要访问内部类的成员将需要建立一流的内部对象. 一般用于类的设计. 分 ...