XmlTextReader 限于只向前的读取
XmlTextReader 的技术类似于读取其他任何文件 首先打开文件,然后从文件中读取信息,最后关闭文件.
每次从文件中读取信息时,他在文件中的位置都会前移.到达文件结尾的时候就什么都不读了。
1 创建XmlTextReader对象
    XmlTextReader 类:表示提供对 XML 数据进行快速、非缓存、只进访问的读取器。
    public class XmlTextReader : XmlReader, IXmlLineInfo
 例如:创建一个名为myReader的对象,并将他指向一个filename文件.这个文件名可以包含完整的路径
 XmlTextReader myReader=new XmlTextReader("filename");
 XmlTextReader 构造函数:1 protected XmlTextReader();   2 public XmlTextReader(Stream);
                        3 public XmlTextReader(string);等等
 读取数据:
 注意:XmlTextReader 对象不验证数据。它假设你已经使用了标准的XML。(缺乏数据验证有助于获取最快的速度)
 读取数据的XMLTextReader方法
 方法                                    详细说明
 Read                                    读取XML文件的下一个结点
 ReadAttributeValue                      读取属性值
 ReadBase64                              读取Base64值
 ReadBinHex                              读取BinHex值
 ReadChars                               读取文本字符
 ReadElementString                       读取只有文本的元素
 ReadEndElement                          读取结束元素
 ReadInnerXml                            将XML结点全部内容读到一个字符串里面
 ReadOuterXml                            将整个XML结点和它的内容读到一个字符串里面
 ReadStartElement                        读取开始元素
 ReadString                              将一个元素或者文本结点值读到一个字符串里面
 注意XmlNodeType对象读取的值与一个XmlNodeType的值相比较完成评估 (详见 msdn)
 关闭XmlTextReader对象 myReader.Close();
 使用XmlTextReader的实例应用程序
 实例说明:

使用XmlTextReader读取XML文件

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Xml;
using System.Text;
//
namespace Xmlapp2
public class Form1 : System.Windows.Forms.Form{
//private XmlTextReader  xtr=null;public Form1(){//// Windows 窗体设计器支持所必需的//InitializeComponent();xtr=new XmlTextReader(@"temp.xml");//XmlTextReader.WhitespaceHandling 属性 :获取或设置一个值,该值指定如何处理空白xtr.WhitespaceHandling=WhitespaceHandling.All;//// TODO: 在 InitializeComponent 调用后添加任何构造函数代码//}
//private void button2_Click(object sender, System.EventArgs e)//关闭退出{if (xtr!=null){xtr.Close();}Application.Exit();}private void button1_Click(object sender, System.EventArgs e){StringBuilder str=new StringBuilder("Formatted:");if (xtr.Read()==true){label1.Text=xtr.NodeType.ToString();label2.Text=xtr.Name.ToString();label3.Text=xtr.Value.ToString();switch (xtr.NodeType){case XmlNodeType.Element:str.AppendFormat("<{0}>",xtr.Name);break;case XmlNodeType.Text:break;case XmlNodeType.CDATA:str.AppendFormat("<![CDATA[{0}]]>",xtr.Value);break;case XmlNodeType.ProcessingInstruction:str.AppendFormat("<?{0} {1}?>",xtr.Name,xtr.Value);break;case XmlNodeType.Comment:str.AppendFormat("<!--{0}-->",xtr.Value);break;case XmlNodeType.XmlDeclaration:str.AppendFormat("<?xml version='1.0'?>");break;case XmlNodeType.DocumentType:str.AppendFormat("<!DOCTYPE{0} [{1}]>",xtr.Name,xtr.Value);break;case XmlNodeType.EntityReference:str.Append(xtr.Name);break;case XmlNodeType.EndElement:str.AppendFormat("</{0}>",xtr.Name);break;case XmlNodeType.Whitespace://Console.Write("{0}",xtr.Value);break;}label4.Text=str.ToString();}else{label1.Text="Eof";label2.Text="Eof";label3.Text="Eof";}}}

使用XmlTextReader 读取XML相关推荐

  1. 在asp.net中读取XML文件信息的4种方法

    方法一 :使用XML控件     <% @ Page Language="C#"%>  <html> <body>         <h3 ...

  2. 在C#中使用XML指南之读取XML

    对于XML,想必各位都比较了解,我也就不用费笔墨来描述它是什么了,我想在未来的Web开发中XML一定会大放异彩,XML是可扩展标记语言,使用它企业可以制定一套自己的数据格式,数据按照这种格式在网络中传 ...

  3. 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值

    前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能 ...

  4. C#中常用的几种读取XML文件的方法

    XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖于内 ...

  5. C#操作XML之——读取XML文件

    名称空间:System.Xml 1.使用XmlDocument读取XML[例] //创建xml文档 XmlDocument xdoc = new XmlDocument(); //读取XML文档 xd ...

  6. 使用.NET读取XML文件

    介绍 本文中我将介绍在ASP.NET应用程序中如何读取XML文件,这是一个十分有用的技巧.使用这个技巧,我们能够定制我们的应用程序的配置文件,也可以读取那些保存在XML文件中的数据. 概论 下面的代码 ...

  7. 分析ASP.NET读取XML文件4种方法

    方法一 :使用XML控件 <% @ Page Language="C#"%> <html> <body> <h3><font ...

  8. C#中读取XML文件方法

    C#中读取XML文件方法 XML 简介 格式 c#读取XML文件方法 使用XmlDocument 操作 注意 解决方法: 使用XmlTextReader/XmlTextWriter 操作 使用Linq ...

  9. ASP.NET中读取XML文件4种方法

    参考文章:http://www.cnblogs.com/maoyu417/archive/2007/11/02/946901.html 一共有四种方法,创建一个asp.net项目,下面有四个页面,如下 ...

最新文章

  1. 2021年大数据ELK(二十三):Kibana简介
  2. Kafka源码剖析 —— 网络I/O篇 —— 浅析KafkaSelector
  3. FreeMarker 快速入门
  4. 北斗导航 | 北斗RDSS受地面5G干扰影响的分析及对策研究
  5. java getselecteditem_Java JComboBox.getSelectedItem方法代碼示例
  6. 一些基于Java的AI框架:Encog,JavaML,Weka
  7. Unable to execute dex: Multiple dex files define 解决方法
  8. python使用pandas和xlsxwriter读写xlsx文件
  9. rgb颜色查询工具_《我的眼睛–图灵识别》第三章:基础:颜色识别
  10. Python入门--为什么将元组设计为不可变序列
  11. php递归算法的简单示例,php递归函数 php递归算法经典实例大全 | 帮助信息-动天数据...
  12. AI 杀疯了,NovelAI开源教程
  13. hive建表设置如果为null_hive建表语句
  14. android 各国语言对应的缩写
  15. itest英语考试bug_ITEST 使用常见问题之教师篇
  16. html 语言 背景颜色,如何在HTML中设置背景颜色?
  17. SpringBoot的优点及缺点
  18. 关于笔记本双显卡状态下独立显卡的配置问题
  19. 教程(二)安装Java JDK
  20. java JPG等图片格式转成PGM

热门文章

  1. [学习总结]7、Android AsyncTask完全解析,带你从源码的角度彻底理解
  2. iOS CoreTelephony框架介绍与使用案列
  3. 无法加载 DLL“SQLite.Interop.DLL”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。...
  4. 重载(overload)与重写(override)的区别
  5. 第六次作业(C语言)
  6. Cortex-M3 的SVC、PendSV异常,与操作系统(ucos实时系统)(转)
  7. php调用API支付接口(转自刘68)
  8. Jmeter服务器监控插件使用
  9. 面向对象课程 - T-shirt
  10. H264视频通过RTMP直播