窗体就只用添加一个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文档的使用的更多相关文章

  1. Java中Dom解析xml文档

    xml文档 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id ...

  2. ios中GDataXML解析XML文档

    参考文章 http://blog.csdn.net/ryantang03/article/details/7868246 适合解析一个节点多个属性要用GDataXml 格式如下 <?xml ve ...

  3. 详解xml文件描述,读取方法以及将对象存放到xml文档中,并按照指定的特征寻找的方案

    主要的几个功能: 1.完成多条Emp信息的XML描述2.读取XML文档解析Emp信息3.将Emp(存放在List中)对象转换为XML文档4.在XML文档中查找指定特征的Emp信息 dom4j,jaxe ...

  4. 文档对象模型操作xml文档

    简介 :文档对象模型(DOM)是一种用于处理xml文档的API函数集. 2.1文档对象模型概述 按照W3C的定义,DOM是“一种允许程序或脚本动态地访问更新文档内容,结构和样式的.独立于平台和语言的规 ...

  5. 使用DOM4J解析XML文档,以及使用XPath提取XML文档

    使用DOM4J解析XML文档 需要首先下载DOM4J工具包.这是个第三方工具包 在使用DOM4J解析的时候需要导入 DOM4J的JAR包 下载DOM4J工具包->在MyEclipse中新建lib ...

  6. 容器环境下如何将NuGet包XML文档添加到Swagger

    容器环境下将NuGet包XML文档添加到Swagger 在.NET Core项目开发过程中,为了实现代码复用,我们将可以重复使用的部分拆分成一个个小的NuGet包.这些NuGet包可以在其他系统中复用 ...

  7. 从多个XML文档中读取数据用于显示webapi帮助文档

    前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDo ...

  8. Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构

    分享两篇Win 10应用开发的XML文档结构:Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构. Win 10 开发中Adapt ...

  9. 【HTML/XML 10】XML文档中的Schema文件

    导读:DTD是对XML文档进行有效性验证的方法之一,事实上,继DTD之后,出现了用来规范和描述XML文档的第二代标准:Schema.Schema是DTD的继承,但是也有其不同的地方,它是真正的以独立的 ...

随机推荐

  1. Swift必备开发库(高级篇)

    1.CryptoSwift swift加密库, 支持md5,sha1,sha224,sha256... github地址: https://github.com/krzyzanowskim/Crypt ...

  2. LeetCode之“字符串”:Valid Palindrome

    题目链接 题目要求: Given a string, determine if it is a palindrome, considering only alphanumeric characters ...

  3. 根据Facebook内存的管理使用,浅谈在iOS上自动检测内存泄漏问题

    分装库下载:https://github.com/facebook/FBMemoryProfiler FBMemoryProfiler类库使用教程:http://ifujun.com/fbmemory ...

  4. 【基础】CSS实现多重边框的5种方式

    简言 目前最优雅地实现多重边框的方案是利用CSS3 的 box-shadow属性,但如果要兼容老的浏览器,则需要选择其它的方案.本文简要地列举了几种多重边框的实现方案,大家可以根据项目实际及兼容性要求 ...

  5. minimun depth of binary tree

    Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...

  6. eclipse中英文(等各国语言)版本转换发放

    eclipse界面语言的切换方法 1.该方法只支持安装过中文包的eclipse(其实中文包中几乎包含了全世界所有的语言,只是调用了其中的中文简体而已) 2.在桌面的快捷方式中目标的地址后面加上参数-n ...

  7. JDK内置工具之一——JMap(java memory map)

    1.介绍 打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量). 可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.使用方法 j ...

  8. JDBC基本使用

    J2EE技术规范(二)——JDBC 分类: java2012-12-03 14:25 1060人阅读 评论(8) 收藏 举报 一.了解JDBC (1) JDBC是以统一方式访问数据库的API (2) ...

  9. Python-Flask框架之——图书管理系统 , 附详解源码和效果图 !

    该图书管理系统要实现的功能: 1. 可以通过添加窗口添加书籍或作者, 如果要添加的作者和书籍已存在于书架上, 则给出相应的提示. 2. 如果要添加的作者存在, 而要添加的书籍书架上没有, 则将该书籍添 ...

  10. 几个大型网站的Feeds(Timeline)设计简单对比

    https://mp.weixin.qq.com/s?__biz=MjM5NzQ3ODAwMQ==&mid=404465806&idx=1&sn=3a68a786138538f ...