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;
}
}
没写完,有时间接着写