窗体就只用添加一个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. ARM linux常用汇编语法

    汇编语言每行的语法:     lable: instruction  ; comment 段操作: .section           格式: .section 段名 [标志]     [标志]可以 ...

  2. SharePoint 2013 页面访问,Url中间多一段&quot;_layouts/15/start.aspx#&quot;

    问题描述: 我想访问如下页面 http://Host/_layouts/15/ManageFeatures.aspx 点击以后页面地址没有错,但是中间多了一段"_layouts/15/sta ...

  3. SharePoint 2007 列表页定制--4个默认页定制

    以"简单的领导简介"为例,欢迎大家指正 背景:项目中需要有领导简介的模块,就开始制作领导简介,本来很简单,有一个列表就可以,然后在前台展示出来,但是客户看到我们的效果,尤其输入领导 ...

  4. LeetCode之旅(21)-Swap Nodes in Pairs

    题目: Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1-> ...

  5. j2ee5.0开发中jstl标签失效

    尝试了下,对于Weblogic中的出现的错误,也是有效的!   j2ee5.0开发中jstl标签失效 原因不详, 解决办法, 一:将.web.xml中 <web-app version=&quo ...

  6. 浏览器调试js

    在Google Chrome浏览器出来之前,我一直使用FireFox,因为FireFox的插件非常丰富,更因为FireFox有强大的Firebug,对于前端开发可谓神器. 在Chrome出来的时候,我 ...

  7. 动态规划 Common Subsequence

    描述 A subsequence of a given sequence is the given sequence with some elements (possible none) left o ...

  8. 发现DELL笔记本一个很弱智的问题

    以前用联想的笔记本,最近联想笔记本坏了,用的是公司的DELL笔记本,发现DELL笔记本一个很弱智的问题. 关于禁用触摸板的问题. 起因: 由于要经常写程序,我配置的有有线鼠标,但是打字时经常碰到触摸板 ...

  9. python---购物车---更新

    购物车程序更新: 更新商家入口,实现以下功能: 1. 商家能够修改商品价格: 2. 商家能够下线商品: 3. 商家能够增加商品: 4. 商品信息存在文件中 # -*- coding:utf-8 -*- ...

  10. ubuntu导入公钥的方法

    导入公钥的办法: #方法1: gpg --keyserver subkeys.pgp.NET --recv 6E871C4A881574DEgpg --export --armor 6E871C4A8 ...