XML入门

本人参考的http://www.cnblogs.com/zhangchenliang/archive/2012/02/23/2365101.html。主要功能是给自己做参考。顺便完成我没周两篇文章的任务(学两个知识点)。

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

     下面我将学习以下三种常用的操作XML的方法。

      1.使用XmlDocument

      2.使用XmlTextReader

      3.Linq to Xml

   首先我将创建一个名为Book.xml的文件。

<bookstore>
  <!--记录书本的信息-->
  <book Type="必修课" ISBN="7-111-19149-2">
    <title>数据结构</title>
    <author>严蔚敏</author>
    <price>30.00</price>

  </book>
  <book Type="必修课" ISBN="7-111-19149-3">
    <title>路由型与交换型互联网基础</title>
    <author>程庆梅</author>
    <price>27.00</price>

  </book>
  <book Type="必修课" ISBN="7-111-19149-4">
    <title>计算机硬件技术基础</title>
    <author>李继灿</author>
    <price>25.00</price>

  </book>
  <book Type="必修课" ISBN="7-111-19149-5">
    <title>软件质量保证与管理</title>
    <author>朱少民</author>
    <price>39.00</price>

  </book>
  <book Type="必修课" ISBN="7-111-19149-6">
    <title>算法设计与分析</title>
    <author>王红梅</author>
    <price>23.00</price>

  </book>
  <book Type="选修课" ISBN="7-111-19149-1">
    <title>计算机操作系统</title>
    <author>7-111-19149-1</author>
    <price>28</price>

  </book>
</bookstore>

       一.使用XmlDocument

       读取XML里面的信息。

       public string ReadXml()

       {

             XmlDocument doc = new XmlDocument();

             //从指定路径加载XML文件

             doc.Load(@"..\..\Book.xml");

             //根据节点名称找到节点

             XmlNode xn = xmlDoc.SelectSingleNode("bookstore");

             //获得bookstore节点下的所有子节点 

             XmlNodeList xnl = xn.ChildNodes;

             foreach (XmlNode xn1 in xnl)

             {

                XmlElement xe=(XmlElement)xn1;

                //获取ISBN属性的值

                sting BookISBN =xe.GetAttribute("ISBN").ToString();

              

                XmlNodeList xn3 = item.ChildNodes;
                string bookName = xn3.Item(0).InnerText;
                string bookAutor = xn3.Item(1).InnerText;
                string bookPrice = xn3.Item(2).InnerText;
             }
       }

 

 没写完,有时间接着写

 

 

 

 

posted @ 2012-03-31 17:03  d1xxxx  阅读(142)  评论(0编辑  收藏  举报