C#中DataGridView 对XML文档的使用
窗体就只用添加一个DataGridView控件就可以了。详细解释请参照上一篇中的借鉴曲终人散博客园的文档。
XML文档代码如下:test.xml
<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
<book type="必修课" ISBN="7-111-19149-2">
<title>数据结构</title>
<author>李</author>
<price>30.2</price>
</book>
<book type="必修课" ISBN="7-111-19149-2">
<title>数据结构</title>
<author>李</author>
<price>30.2</price>
</book>
<book type="必修课" ISBN="7-111-19149-2">
<title>数据结构</title>
<author>李</author>
<price>30.2</price>
</book>
<book type="必修课" ISBN="7-111-19149-2">
<title>数据结构</title>
<author>李</author>
<price>30.2</price>
</book>
<book type="必修课" ISBN="7-111-19149-2">
<title>数据结构</title>
<author>李</author>
<price>30.2</price>
</book>
<book type="必修课" ISBN="7-111-19149-2">
<title>数据结构</title>
<author>李</author>
<price>30.2</price>
</book>
<book type="必修课" ISBN="7-111-19149-2">
<title>数据结构</title>
<author>李</author>
<price>30.2</price>
</book> </bookstore>
为了方便添加一个类:BookClass.cs
namespace dataGridViewTest
{
public class BookClass
{
public BookClass()
{ }
private string bookType; public string BookType
{
get { return bookType; }
set { bookType = value; }
}
private string bookISBN; public string BookISBN
{
get { return bookISBN; }
set { bookISBN = value; }
}
private string bookName; public string BookName
{
get { return bookName; }
set { bookName = value; }
}
private string bookAuthor; public string BookAuthor
{
get { return bookAuthor; }
set { bookAuthor = value; }
}
private double bookPrice; public double BookPrice
{
get { return bookPrice; }
set { bookPrice = value; }
}
}
}
然后在窗体得主代码中加入:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
List<BookClass> bookModeList=new List<BookClass>();
private void Form1_Load(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(@"..\..\test.xml"); XmlNode xn = doc.SelectSingleNode("bookstore");
XmlNodeList xnl = xn.ChildNodes;
foreach (XmlNode xn1 in xnl)
{
BookClass bookClass = new BookClass();
XmlElement xe = (XmlElement)xn1;
bookClass.BookISBN = xe.GetAttribute("ISBN").ToString();
bookClass.BookType = xe.GetAttribute("type").ToString(); XmlNodeList xn10 = xe.ChildNodes;
bookClass.BookName = xn10.Item().InnerText;
bookClass.BookAuthor = xn10.Item().InnerText;
bookClass.BookPrice = Convert.ToDouble(xn10.Item().InnerText);
bookModeList.Add(bookClass);
}
dataGridView1.DataSource=bookModeList;
}
}
最终效果如下:
C#中DataGridView 对XML文档的使用的更多相关文章
- Java中Dom解析xml文档
xml文档 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id ...
- ios中GDataXML解析XML文档
参考文章 http://blog.csdn.net/ryantang03/article/details/7868246 适合解析一个节点多个属性要用GDataXml 格式如下 <?xml ve ...
- 详解xml文件描述,读取方法以及将对象存放到xml文档中,并按照指定的特征寻找的方案
主要的几个功能: 1.完成多条Emp信息的XML描述2.读取XML文档解析Emp信息3.将Emp(存放在List中)对象转换为XML文档4.在XML文档中查找指定特征的Emp信息 dom4j,jaxe ...
- 文档对象模型操作xml文档
简介 :文档对象模型(DOM)是一种用于处理xml文档的API函数集. 2.1文档对象模型概述 按照W3C的定义,DOM是“一种允许程序或脚本动态地访问更新文档内容,结构和样式的.独立于平台和语言的规 ...
- 使用DOM4J解析XML文档,以及使用XPath提取XML文档
使用DOM4J解析XML文档 需要首先下载DOM4J工具包.这是个第三方工具包 在使用DOM4J解析的时候需要导入 DOM4J的JAR包 下载DOM4J工具包->在MyEclipse中新建lib ...
- 容器环境下如何将NuGet包XML文档添加到Swagger
容器环境下将NuGet包XML文档添加到Swagger 在.NET Core项目开发过程中,为了实现代码复用,我们将可以重复使用的部分拆分成一个个小的NuGet包.这些NuGet包可以在其他系统中复用 ...
- 从多个XML文档中读取数据用于显示webapi帮助文档
前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDo ...
- Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构
分享两篇Win 10应用开发的XML文档结构:Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构. Win 10 开发中Adapt ...
- 【HTML/XML 10】XML文档中的Schema文件
导读:DTD是对XML文档进行有效性验证的方法之一,事实上,继DTD之后,出现了用来规范和描述XML文档的第二代标准:Schema.Schema是DTD的继承,但是也有其不同的地方,它是真正的以独立的 ...
随机推荐
- UTL_HTTP Call a Web Service and Pass Parameters as Part of the URL
SET DEFINE OFF SET SERVEROUTPUT ON DECLARE req UTL_HTTP.REQ; resp UTL_HTTP.RESP; value VARCHAR2(3276 ...
- 数据挖掘进阶之序列模式分析算法GSP的实现
序列模式分析算法GSP的实现 一.算法简介 序列模式定义:给定一个由不同序列组成的集合,其中,每个序列由不同的元素按顺序有序排列,每个元素由不同项目组成,同时给定一个用户指定的最小支持度阈值,序列模式 ...
- "《算法导论》之‘树’":二叉查找树
树的介绍部分摘取自博文二叉查找树(一).二叉查找树(二).二叉查找树. 1. 树的介绍 1.1 树的定义 树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合. 把它叫做“ ...
- android 热修补之andfix实践
首先有这方面需要的请到https://github.com/xiangzhihong/andfixDemo/tree/master下载例子 对于网上提供的热补丁修复就不多说了,主要有这3种方式可以实现 ...
- Mina源码阅读笔记(四)—Mina的连接IoConnector1
上一篇写的是IoAcceptor是服务器端的接收代码,今天要写的是IoConnector,是客户端的连接器.在昨天,我们还留下一些问题没有解决,这些问题今天同样会产生,但是都要等到讲到session的 ...
- javascript—Mach的一些常用方法
1.Math.random():返回 0 ~ 1 之间的随机数. 2.Math.round():四舍五入取整. 3.Math.ceil():向上取整; 例如:a=1.2,b=5.8; ...
- UML图中类之间的关系
类图中的关系大致一下几种 l 泛化 l 关联 l 依赖 l 组合 l 聚合 泛化 泛化是子集和超集的关系,常使用继承和实现来表示: 继承:子类到超类的实线和空心三角箭头表示 实现:子类到超类的虚线和空 ...
- 详解URL的组成
很久很久以来,我对浏览器地址栏的信息了解的甚少,只知道域名(估计不知道是这么叫).唉...真是很汗颜啊!在软件专业都混了两年了,还是个菜鸟.说真的,有的时候觉得计算机这个领域真的真的有太多的东西要学了 ...
- Linux的硬盘分区
关于硬盘分区,这里先只讨论硬盘分区的方法在linux环境下,其他知识以后也会陆续说到 首先我们通过 df 命令查看一下硬盘的使用情况,在安装硬盘分区后做比较用 [root@bogon ~]# df - ...
- Servlet总结二(文件路径)
Servlet总结二(文件路径) 前言 前面我们说过ServletContext表示的是web容器中的上下文,下面我们也是用到ServletContext中的方法读取文件 读取WebRoot文件下的文 ...