使用XmlTextReader 读取XML

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";}}}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#中ComboBox动态绑定赋值

http://www.crifan.com/csharp_combobox_data_dynamic_binding/ C#中&#xff0c;已有一个List&#xff0c;想要动态的&#xff0c;绑定到ComboBox中。 【解决过程】 1.参考&#xff1a; c# winform comboBox动态绑定数据 去试试代码&#xff1a; cmbSubCategory.DataSource g…

【pyqt5学习】——日历控件calendarWidget设置单元格格式(前景、背景)、日历控件属性编辑

目录 0、导入库 1、返回日历选中的日期 2、更改日历控件周几&#xff08;比如一个月属于周一的日期&#xff09;的所有格子属性 3、更改日历控件单个格子&#xff08;指定日期&#xff09;属性 4、日历格子属性 5、信号——clicked() 6、成果展示 0、导入库 from PyQt5.Q…

linux内核数据结构之链表

1、前言 最近写代码需用到链表结构&#xff0c;正好公共库有关于链表的。第一眼看时&#xff0c;觉得有点新鲜&#xff0c;和我之前见到的链表结构不一样&#xff0c;只有前驱和后继指针&#xff0c;而没有数据域。后来看代码注释发现该代码来自linux内核&#xff0c;在linux源…

为什么使用 XML

为什么使用 XML&#xff1f; Web 使我们能够与任何地方的任何人通讯。广泛接受的标准&#xff08;这对完全使用 Web 的潜力是至关重要的&#xff09;允许 Web 在多种交互操作的技术层上通讯。一个重要层是可视化显示和用户界面&#xff0c;例如 HTML、GIF 和 JScript(TM) 之类的…

bzoj1084: [SCOI2005]最大子矩阵

dp。转移方程在代码里。。转载于:https://www.cnblogs.com/invoid/p/5451202.html

ci事务

参考链接:http://www.tuicool.com/articles/jqeuU3转载于:https://www.cnblogs.com/norm/p/6382396.html

【bug修复】you must feed a value for placeholder tensor ‘Placeholder‘ with dtype float解决方案

最近碰到了这个you must feed a value for placeholder tensor Placeholder with dtype float and shape的问题&#xff0c;字面意思很好理解&#xff0c;就是没有给Placeholder赋值&#xff0c;可是我明明赋值了&#xff0c;百度了许多&#xff0c;也都是让我检查是否赋值以及…

动态代理3之代理工厂实现

动态代理的深化&#xff1a;承接动态代理2( 对 上级实例进行 深化)&#xff0c;也就是 spring 的前身 &#xff08;必须掌握&#xff09;实例&#xff1a; 文件说明&#xff1a;1.有一个Waiter接口&#xff0c;该接口有一个 server() 、ShouQian()方法 2.有一个 Waiter接口的实…

一个简单的XML文档例子

一个简单的XML文档例子: <?xml version"1.0"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Dont forget me this weekend!</body> </note> 文档的第一…

python set

python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算. sets 支持 x in set, len(set),和 for x in set。作为一个无序的集…

【bug修复】解决ValueError: Tensor(“Variable:0“ dtype=float32_ref) must be from the same graph as Tensor(“R

bug:描述 在进行tensorflow进行搭建CNN网络时&#xff0c;在定义CNN的py文件中调用cnn模型&#xff0c;运行正常&#xff0c;但是在其他py文件中进行时就出现问题 ValueError: Tensor(“Variable:0” dtypefloat32_ref) must be from the same graph as Tensor(“Reshape:0”,…

XML —— DTD介绍

一、DTD介绍 Document Type Definition&#xff1b; DTD是一种XML的约束方式&#xff0c;除了此种约束方式外&#xff0c;还有XSchema&#xff0c;XSchema比DTD的约束能力还要强&#xff0c;因此DTD正在逐渐淘汰&#xff1b; DTD的目的就是约束XML标签的写法&#xff1b;比如在…

error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

更新的软件可以解决 TortoiseGit-preview-2.5.7.0-20180127-b2d00f8-64bit.msi和Git-2.16.2-64-bit.exe。 链接地址为&#xff1a; https://github.com/git-for-windows/git/releases/download/v2.16.2.windows.1/Git-2.16.2-64-bit.exe https://download.tortoisegit.org/tgi…

Linux 图片传输功能c/c++(初版)

由于深度学习任务的需要&#xff0c;要在程序里面嵌入一个module。 这个module 的功能是接收来自ios客户端的图片。并且传送给深度学习分类器进行处理。 于是看了看各种各样的 module 实现方案。 先是用IO函数把图片以数组的方式存起来。 再和服务器建立连接&#xff0c;socket…

Val编程-val系列编程思想

利用Val语言可以编写出各种各样的应用程序。正如windows phone面临的窘境一样&#xff0c;受众太小&#xff0c;市场不大。应用程序不多&#xff0c;所以也谈不上成熟。国内的应用程序基本上就是简单的小程序&#xff0c;谈不上什么编程思想。国外许多都是基于kernel的而衍生出…

Celery的实践指南

Celery的实践指南celery原理&#xff1a;celery实际上是实现了一个典型的生产者-消费者模型的消息处理/任务调度统&#xff0c;消费者(worker)和生产者(client)都可以有任意个&#xff0c;他们通过消息系统&#xff08;broker&#xff09;来通信。典型的场景为&#xff1a;客户…

【pyqt5学习】——bug修复,利用qt资源库qrc文件进行背景图像设置,不显示图像

目录 bug描述 bug分析 bug解决 bug描述 利用下面文章的方法进行资源设置后&#xff0c;有的显示了有的没有显示 【pyqt5学习】——pyqt5中.qrc资源文件的创建与编写_有情怀的机械男的博客-CSDN博客_python qrc目录一、说明二、安装pyqt5以及相关工具&#xff08;pyqt5、pyuic…

Datalore:用于机器学习可视化的新Web方案!

前不久&#xff0c;JetBrains团队发布了Datalore&#xff0c;这是一款基于云的web应用程序&#xff0c;用于构建机器学习模型并在Python中创建丰富的可视化。最新的测试版本旨在简化构建机器学习模型的流程&#xff0c;并帮助开发人员进行数据分析。由于Datalore的智能编码辅助…

Val3语言介绍

Val3语言是一门专门针对特定工业机器人的一门语言。在墙内有关这方面的介绍非常的少。在墙外维基百科上有一篇详细介绍的,有空FQ摘抄在这里。 Val3是使用XML格式。可以使用XML编辑器来进行编写VAL3的程序&#xff0c;可直接在模拟器上或者示教盒上编程&#xff0c;一般推荐使用…

网络层相关问题

1.说一下网络层的总体结构。 2.有没有看过源码&#xff1f; A.继承Request   B.打日志   C.修改参数 3.说一下Volley整体结构。 4.有了解过OkHttp吗&#xff1f; 5.说一下OkHttp和Volley的区别&#xff1f;转载于:https://www.cnblogs.com/jarvisyin/p/6389553.html