<?xml version="1.0" encoding="utf-8" ?>
<Books>
<Category Order="1" Name="文学类">
<Book Order="1" Name="战争与和平" Author="张三" Price="120.00" Publish="北京大学出版社"></Book>
<Book Order="2" Name="简爱" Author="李四" Price="153.00" Publish="清华大学出版社"></Book>
<Book Order="3" Name="罪与罪" Author="王五" Price="89.00" Publish="工业出版社"></Book>
</Category> <Category Order="3" Name="计算机类">
<Book Order="1" Name="Linq高级编程" Author="童贝" Price="67.40" Publish="北京大学出版社"></Book>
<Book Order="2" Name="深入浅出WPF" Author="向刚" Price="65.00" Publish="清华大学出版社"></Book>
<Book Order="3" Name="ASP.Net MVC4" Author="马六" Price="89.00" Publish="工业出版社"></Book>
</Category> <Category Order="2" Name="科技类">
<Book Order="1" Name="自然" Author="邵叶" Price="130.40" Publish="北京大学出版社"></Book>
<Book Order="2" Name="新工业革命" Author="李安" Price="65.00" Publish="清华大学出版社"></Book>
<Book Order="3" Name="时空" Author="马六" Price="150.00" Publish="工业出版社"></Book>
</Category>
</Books>
 private void LoadXml()
{
XElement bookXml = XElement.Load(Server.MapPath("~/Book.xml")); if (bookXml == null)
{
return;
} // 查找所有书籍分类
var categorysElement = from item in bookXml.Elements("Category")
orderby (int.Parse(item.Attribute("Order").Value))
select item;
List<Book> listBook = new List<Book>(); foreach (var categoryElement in categorysElement)
{
// 获取书籍分类的名称
string categoryName = categoryElement.Attribute("Name").Value; // 查找此分类下的所有书籍
var booksElement = from book in categoryElement.Elements("Book")
orderby (int.Parse(book.Attribute("Order").Value))
select book; foreach (var bookElement in booksElement)
{
Book book = new Book();
book.Category = categoryName;
book.Name = bookElement.Attribute("Name").Value;
book.Author = bookElement.Attribute("Author").Value;
book.Price = bookElement.Attribute("Price").Value;
book.Publish = bookElement.Attribute("Publish").Value;
listBook.Add(book);
}
} this.grdBooks.DataSource = listBook;
this.grdBooks.DataBind();
} public class Book
{
/// <summary>
/// 分类名称
/// </summary>
public string Category { get; set; } /// <summary>
/// 书籍名称
/// </summary>
public string Name { get; set; } /// <summary>
/// 价格
/// </summary>
public string Price { get; set; } /// <summary>
/// 作者
/// </summary>
public string Author { get; set; } /// <summary>
/// 出版社
/// </summary>
public string Publish { get; set; }
}
 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView AutoGenerateColumns="false" ID="grdBooks" runat="server" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None">
<AlternatingRowStyle BackColor="PaleGoldenrod" />
<Columns>
<asp:BoundField DataField="Category" HeaderText="分类" ItemStyle-Width="10%" />
<asp:BoundField DataField="Name" HeaderText="书名" ItemStyle-Width="20%" />
<asp:BoundField DataField="Author" HeaderText="作者" ItemStyle-Width="8%" />
<asp:BoundField DataField="Price" HeaderText="价格" ItemStyle-Width="8%" />
<asp:BoundField DataField="Publish" HeaderText="出版社" ItemStyle-Width="15%" />
</Columns>
<FooterStyle BackColor="Tan" />
<HeaderStyle BackColor="Tan" Font-Bold="True" />
<PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
<SortedAscendingCellStyle BackColor="#FAFAE7" />
<SortedAscendingHeaderStyle BackColor="#DAC09E" />
<SortedDescendingCellStyle BackColor="#E1DB9C" />
<SortedDescendingHeaderStyle BackColor="#C2A47B" /> </asp:GridView>
</div>
</form>
</body>
</html>

Linq To Xml基础的更多相关文章

  1. LINQ to XML 编程基础

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

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

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

  3. LINQ to XML编程之编程基础

    1.声明,LINQ to XML让xml的创建变得非常简单. XDocument myDocument = new XDocument( new XDeclaration("1.0" ...

  4. C#基础巩固(2)-Linq To XML创建XML

    一.首先要清楚一个正确的XML基本格式是怎样的. 1.后缀名.xml结尾 2.有一行描述 3.有且仅有一个根节点. 如图: 一个正确的xml文件能够被浏览器打开且显示.所以判断一个xml文件有没有错误 ...

  5. C#基础知识---Linq操作XML文件

    概述 Linq也就是Language Integrated Query的缩写,即语言集成查询,是微软在.Net 3.5中提出的一项新技术. Linq主要包含4个组件---Linq to Objects ...

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

    主界面

  7. Linq对XML的简单操作

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

  8. Linq世界走一走(LINQ TO XML)

    前言:Linq to xml是一种使用XML的新方法.从本质上来说,它采用了多种当前使用的XML处理技术,如DOM和XPath,并直接在.NET Framework内将它们组合为一个单一的编程接口.L ...

  9. LINQ to XML学习笔记

    一.XML基础知识 1.XML:可扩展标记语言 Extensible Markup Language ,提供了一种保存数据的格式,数据可以通过这种格式很容易地在不同的应用程序之间实现共享. 2.使用X ...

随机推荐

  1. 一看就懂得移动端rem布局、rem如何换算

    这里使用了js控制根元素的font-size大小,然后进行rem换算,在js代码后面会说明以下问题. 1.如何进行rem运算? 2.如果纯js控制根元素用rem布局会出现的小问题,如何解决? 3.如有 ...

  2. DataGridView控件内建立日期选择编辑列

    两个文件: CalendarColumn 类: public class CalendarColumn : DataGridViewColumn { public CalendarColumn() : ...

  3. Tomcat中间件URL中文字符传递问题

    1. 问题描述: tomcat中如果URL中需要传递中文参数,需要配置tomcat的service.xml中文传递的编码方式,否则中文传递将出现乱码,导致程序异常. 2. 解决方式: 修改tomcat ...

  4. 使用HttpClient 发送get、post请求,及其解析xml返回数据

    一.关于HttpClient的使用: 可以参考这个博客地址,这里有详细的介绍,需要的可以先看一下: 地址是:http://blog.csdn.net/wangpeng047/article/detai ...

  5. SQL Server 2008 通用分页存储过程

    1.alert USE [数据库名称] GO /****** Object: StoredProcedure [dbo].[dbTab_PagerHelper] Script Date: 08/22/ ...

  6. Socket accept failed

    启动tomcat显示如下错误: java.net.SocketException: select failed at java.net.PlainSocketImpl.socketAccept(Nat ...

  7. SQL Server创建复合索引时,复合索引列顺序对查询的性能影响

    说说复合索引 写索引的博客太多了,一直不想动手写,有一下两个原因:一是觉得有炒剩饭的嫌疑,有兄弟曾说:索引吗,只要在查询条件上建索引就行了,真的可以这么暴力吗?二来觉得,索引是个非常大的话题,很难概括 ...

  8. mvc 4 ActionFilterAttribute 特性,进行权限验证

    权限验证: /// <summary> /// 管理员身份验证 /// </summary> public class BasicAuthenticationAttribute ...

  9. 联系人按照A~~~Z排列

    // 01 创建可变字典,存储每一个key对应的数据列表 NSMutableDictionary *nationWithCodeDicList = [NSMutableDictionary dicti ...

  10. C/C++中extern关键字解析

    1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义.此外extern也可用来进行链接指定. 也就是说extern ...