发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
关于Linq的简介请看这篇文章:查询表达式(LINQ)简介
本文简要介绍通过Linq操作XML文件
1.准备一个XML文件
本例的XML文件内容主要是书籍信息,代码如下:
<?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>
2.编写Book类
创建一个Book类
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; } }
3.通过Linq操作XML文件
先引入命名空间
using System.Xml.Linq;
操作XML文件的代码主要如下:
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(); }
结果如下图所示:
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
Dom4j的使用(全而好的文章) - xhy0422 - JavaEye技术网站
} 3. 遍历XML树DOM4J提供至少3种遍历节点的方法:1) 枚举(Iterator)如果你动心了,那就一起来用DOM4J.DOM4J官方网站:(我老连不上)http://www.dom4j.org/DOM4J下载(SourceForge),最新版本为1...
dom4j生成xml实例
DOM4J 使用基础指南........ - JAVA & XML & JAVASCRIP...
本文主要讨论了用dom4j解析XML的基础问题,包括建立XML文档,添加、修改、删除节点,以及格式化(美化)输出和中文问题。dom4j1.5的完整版大约13M,是一个名为dom4j-1.5.zip的压缩包,解压后有一个dom4...
Java Dom解析xml
Django ORM – 多表实例
c. 给书籍对象的 authors 属性用 add 方法传作者对象的 idapp01/views.py 文件代码:def add_book(request): # 获取作者对象 chon...
Django入门案例:图书管理系统
书籍表 Book:title 、 price 、 pub_date 、 publish(外键,多对一) 、 authors(多对多)将显示的语言、时间等使用本地的习惯,这里...
C#读写xml文件的常用方法
C#读写xml文件的常用方法。已知有一个XML文件(bookshop.xml)如下:按 Ctrl+C 复制代码按 Ctrl+C 复制代码。已知有一个XML文件(bookshop.xml)如下:<?xml version="1.0" encoding="...
<x:out> 标签 | 菜鸟教程
<x:out> 标签 | 菜鸟教程<x:out> 标签。BOOKS INFO:The title of the first book is: Padam History The price of the second book: 2000.
在java中使用dom4j解析xml
在java中使用dom4j解析xml虽然Java中已经有了Dom和Sax这两种标准解析方式。> <books> <book id="001"> <...
微信扫码,在手机上查看选中内容