当前位置:首页 > Windows程序 > 正文

c#读取写XML

2021-05-24 Windows程序

标签:

c#读取XML

XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。微软也提供了一系列类库来倒帮助我们在应用程序中存储XML文件。

    “在程序中访问进而操作XML文件一般有两种模型,分别是使用DOM(文档对象模型)和流模型,使用DOM的好处在于它允许编辑和更新XML文档,可以随机访问文档中的数据,可以使用XPath查询,但是,DOM的缺点在于它需要一次性的加载整个文档到内存中,对于大型的文档,这会造成资源问题。流模型很好的解决了这个问题,因为它对XML文件的访问采用的是流的概念,也就是说,任何时候在内存中只有当前节点,,但它也有它的不足,它是只读的,仅向前的,不能在文档中执行向后导航操作。”具体参见在Visual C#中使用XML指南之读取XML

    下面我将介绍三种常用的读取XML文件的方法。分别是

   1: 使用 XmlDocument    2: 使用 XmlTextReader    3: 使用 Linq to Xml

这里我先创建一个XML文件,名为Book.xml下面所有的方法都是基于这个XML文件的,文件内容如下:

   1: <?xml version="1.0" encoding="utf-8"?>    2: <bookstore>    3:   <!--记录书本的信息-->    4:   <book Type="必修课" ISBN="7-111-19149-2">    5:     <title>数据结构</title>    6:     <author>严蔚敏</author>    7:     <price>30.00</price>    8:   </book>    9:   <book Type="必修课" ISBN="7-111-19149-3">   10:     <title>路由型与交换型互联网基础</title>   11:     <author>程庆梅</author>   12:     <price>27.00</price>   13:   </book>   14:   <book Type="必修课" ISBN="7-111-19149-4">   15:     <title>计算机硬件技术基础</title>   16:     <author>李继灿</author>   17:     <price>25.00</price>   18:   </book>   19:   <book Type="必修课" ISBN="7-111-19149-5">   20:     <title>软件质量保证与管理</title>   21:     <author>朱少民</author>   22:     <price>39.00</price>   23:   </book>   24:   <book Type="必修课" ISBN="7-111-19149-6">   25:     <title>算法设计与分析</title>   26:     <author>王红梅</author>   27:     <price>23.00</price>   28:   </book>   29:   <book Type="选修课" ISBN="7-111-19149-1">   30:     <title>计算机操作系统</title>   31:     <author>7-111-19149-1</author>   32:     <price>28</price>   33:   </book>   34: </bookstore>

为了方便读取,我还定义一个书的实体类,名为BookModel,具体内容如下:

   1: using System;    2: using System.Collections.Generic;    3: using System.Linq;    4: using System.Text;    5:    6: namespace 使用XmlDocument    7: {    8:     public class BookModel    9:     {   10:         public BookModel()   11:         { }   12:         /// <summary>   13:         /// 所对应的课程类型   14:         /// </summary>   15:         private string bookType;   16:   17:         public string BookType   18:         {   19:             get { return bookType; }   20:             set { bookType = value; }   21:         }   22:   23:         /// <summary>   24:         /// 书所对应的ISBN号   25:         /// </summary>   26:         private string bookISBN;   27:   28:         public string BookISBN   29:         {   30:             get { return bookISBN; }   31:             set { bookISBN = value; }   32:         }   33:   34:         /// <summary>   35:         /// 书名   36:         /// </summary>   37:         private string bookName;   38:   39:         public string BookName   40:         {   41:             get { return bookName; }   42:             set { bookName = value; }   43:         }   44:   45:         /// <summary>   46:         /// 作者   47:         /// </summary>   48:         private string bookAuthor;   49:   50:         public string BookAuthor   51:         {   52:             get { return bookAuthor; }   53:             set { bookAuthor = value; }   54:         }   55:   56:         /// <summary>   57:         /// 价格   58:         /// </summary>   59:         private double bookPrice;   60:   61:         public double BookPrice   62:         {   63:             get { return bookPrice; }   64:             set { bookPrice = value; }   65:         }   66:     }   67: }

1.使用XmlDocument.

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/70342.html