网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

LINQ解析XML

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

读取XML文档
       这里面主要涉及的类包括XElement,XDocument,下面主要是用一个很简单的文档来描述一下其使用方法
建立一个book.xml文件:

  1. <?xml version="1.0" encoding="utf-8" ?> 
  2. <books> 
  3.   <book> 
  4.     <title>Book1</title> 
  5.     <time>1989/06/23</time> 
  6.   </book> 
  7.   <book> 
  8.     <title>Book2</title> 
  9.     <time>1989/06/23</time> 
  10.   </book> 
  11. </books> 

那么具体过程主要分为2步,先加载文件至XElement或XDocument对象,然后用LINQ TO XML对其进行操作
首先看XElement的用法

  1. var query = from m in XElement.Load(Server.MapPath("book.xml")).Elements("book"
  2.  
  3.                    select m; 
  4.  
  5.             this.GridView1.DataSource = query; 
  6.  
  7.             this.GridView1.DataBind(); 

界面上最终显示的会是这样的效果

那么这个地方需要注意的是包含在查询结果的数据集并没有显示我们期望的节点数据,而且每个子节点也没有作为其中一个独立字段显示,这是因为,返回的对象是泛型XElement的集合,而不是Book对象,因为这里LINQ无法指定每个节点应映射为何种对象。
可以把上面的查询语句做一下简单的修改:

  1. var query = from m in XElement.Load(Server.MapPath("book.xml")).Elements("book"
  2.  
  3.                         select new 
  4.  
  5.                      { 
  6.  
  7.                             Title = m.Element("title").Value, 
  8.  
  9.                            Time = m.Element("time").Value 
  10.  
  11.                       }; 

这样界面上就会显示我们所需要显示的数据了,这里需要注意的是,XElement的Load方法是试图加载整个文档,在xml文件比较大的时候就不是很方便了,所以下面看下XDocument的方法,这个基本上就如出一辄,不详细的介绍了

  1. string path = Server.MapPath("~/book.xml"); 
  2.  
  3.             XDocument doc = XDocument.Load(path); 
  4.  
  5.  
  6.             var query = from book in doc.Descendants("book"
  7.  
  8.                         where book.Element("title").Value.Equals("Book1"
  9.  
  10.                         select new 
  11.  
  12.                         { 
  13.  
  14.                             Title = book.Element("title").Value, 
  15.  
  16.                             Time = book.Element("time").Value 
  17.  
  18.                         }; 


使用LINQ TO XML在操作XML感觉还是很方便的,同时省了许多不必要的语法,掌握还是很必要的,这里也仅仅是一个简单的介绍,不过我想对于大部分的操作,这几行代码基本也就够了。

  • 上一篇资讯: DATATABLE简单操作代码
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师