知识大全 C#来创建和读取XML文档
Posted 文件
篇首语:带不走四季的风,就卷走一路的风景;遇不到心动的人,就孤身潇洒走四方。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#来创建和读取XML文档相关的知识,希望对你有一定的参考价值。
C#来创建和读取XML文档 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
扩展标记语言XML(eXtensible Markup Language) 是由W C组织制定的 做为用于替代HTML语言的一种新型的标记语言 XML内部有着很多基本标准 XML就是通过与这些相关标准地结合 应用于科学计算 电子出版 多媒体制作和电子商务的 C#作为一种新型的程序语言 是 Net框架的一个重要组成部分 他和XML的关系颇深 本文就从一个方面来探讨一下这二者的关系 即 看用C#如何来创建和读取XML文档
一.本文程序设计和运行的软件环境
(一)微软公司视窗 服务器版
(二) Net FrameWork SDK Beta
二.C#创建XML文档
在本文中我们来介绍一下用C#创建XML文档的二种方法 这二种方法各有千秋 第一种创建起来更灵活 第二种创建起来更方便
(一)C#创建XML文档的第一种方法
这一种方法是按照按照XML的结构一步一步的构建XML文档 C#构建XML文档通过 Net FrameWork SDK中的命名空间 System Xml 中封装的各种类来实现的 下面就按照一个XML典型文档结构来介绍一下
( )首先要创建一个空的XML文档
在命名空间 System Xml 中有一个类 XmlDocument C#通过这个类来描述XML文档 下面是用C#创建一个XML文档
xmldoc = new System Xml XmlDocument ( ) ;
( )在XML的文档的最头部加入XML的声明段落
利用 XmlDocument 类中的 CreateNode 方法可以创建一个指定类型的XML节点 CreateNode 方法的调用方法总共有三种 在本文中使用的是其一般的方法 具体语法如下
XmlDocument CreateNode Method ( XmlNodeType String String )
然后在利用 XmlDocument 类中的 AppendChild 方法在XML文档中加入此节点 用C#在XML文档中加入声明段落实现的语句如下
xmlnode = xmldoc CreateNode ( XmlNodeType XmlDeclaration ) ;xmldoc AppendChild ( xmlnode ) ;
( )为XML文档加入元素(element)
加入数据内容是通过元素 在 XmlDocument 类中提供了二个方法
CreateElement 和 CreateTextNode 其中第一个方法是在XML中创建一个元素 另外一个方法是为创建的元素指定文本值 下面是为上面创建的XML文档加入一个根元素
xmlelem = xmldoc CreateElement ( ROOT ) ;xmltext = xmldoc CreateTextNode ( Root Text ) ;
注释 其中 xmlelem 是创建的 XmlElement 对象 xmltext 是 XmlText 对象有了创建一个XML元素的例子 就可以根据XML文档中数据的不同的结构来创建其他的数据了
(二)C#创建XML文档的第一种方法的源程序代码(NO cs)
using System ;using System Xml ;class MainClassXmlDocument xmldoc ;XmlNode xmlnode ;XmlElement xmlelem ;XmlElement xmlelem ;XmlText xmltext ;static void Main ( string [ ] args )MainClass app = new MainClass ( ) ;public MainClass ( )xmldoc = new XmlDocument ( ) ;//加入XML的声明段落xmlnode = xmldoc CreateNode ( XmlNodeType XmlDeclaration ) ;xmldoc AppendChild ( xmlnode ) ;//加入一个根元素xmlelem = xmldoc CreateElement ( ROOT ) ;xmltext = xmldoc CreateTextNode ( Root Text ) ;xmlelem AppendChild ( xmltext ) ;xmldoc AppendChild ( xmlelem ) ;//加入另外一个元素xmlelem = xmldoc CreateElement ( SampleElement ) ;xmlelem = xmldoc CreateElement ( SampleElement ) ;xmltext = xmldoc CreateTextNode ( The text of the sample element ) ;xmlelem AppendChild ( xmltext ) ;xmldoc ChildNodes Item( ) AppendChild ( xmlelem ) ;//保存创建好的XML文档tryxmldoc Save ( c:\\\\data xml ) ; catch ( Exception e )//显示错误信息Console WriteLine ( e Message ) ;Console ReadLine ( ) ;
(三)C#创建XML文档的第二种方法
在介绍完第一种方法以后 我想每一个读者都感觉到用C#创建XML文档是一项比较烦杂的工作了 因为不仅要了解创建的知识 还要了解文档的结构 这样创建的过程就是一步一步的了 下面就来介绍一种比较容易的创建方法 这种创建方法是直接定义XML文档 然后把他保存到文件中就可以了
( )创建一个XML文档
这一点和第一种方法一样 在这里就不介绍了
( )通过 XmlDocument 类中的 LoadXml 方法 直接在文档中加入想要加入的XML数据 当然你加入的XML应该符合XML的语法 不然产生的文件也没有什么意义了 下面是加入XML的具体代码
doc LoadXml (
( )把保存XML文档到文件中
保存XML文档是通过 XmlDocument 类中的 Save
方法来实现的 具体如下
doc Save ( data xml ) ;
(四)C#创建XML文档的第二种方法的源程序代码(NO cs)
using System ;using System IO ;using System Xml;public class Samplepublic static void Main ( )//创建一个XmlDocument对象XmlDocument doc = new XmlDocument ( ) ;doc LoadXml (
用C#创建XML文档的方法其实有很多 在这里只是选取了二种比较典型的方法加以介绍 但无论那一种方法 C#在创建XML的时候都需要用到 Net FrameWork SDK 所以了解并掌握这个类库中的内容对于C#编程是十分必要的 在下面我们将来介绍一下用C#读取XML中的数据 通过这你会发现 C#又是利用这个类库实现这个功能的
三.C#读取XML文件
本节将用C#来读取本文中用第二种方法创建的XML文件 编译NO cs后 执行将产生 data xml 文件 其中 data xml 文件的数据结构如下
在下面的内容中 我们利用C#读取此文件 并用ListView组件按照数据结构给显示出来
要正确读取XML数据 首先要了解XML的结构 根据上面的XML文件 可以知道此XML包含三个数据 下面就来看如何读取这三条数据
( )装入XML文件 形成数据流
通过创建一个 XmlDocument 对象 然后利用 load 方法 可以把XML文件装入 具体如下
XmlDocument doc = new XmlDocument ( ) ;// 装入指定的XML文档doc Load ( C:\\\\data xml ) ;
( )读取XML文件 并显示出来
读取XML是通过创建 XmlNodeReader 对象来实现的 XmlNodeReader 对象主要是用来可以读取XML的节点数据 在本文的程序中使用到了一些 XmlNodeReader 的属性 譬如 NodeType 属性 用来判断读取得节点是什么类型 Value 是节点的值 下面是读取XML文件并显示在ListView中的实现代码 其中listview 是已经创建ListView组件
while ( reader Read ( ) ) //判断当前读取得节点类型switch ( reader NodeType )case XmlNodeType Element :s = reader Name ;break ;case XmlNodeType Text :if ( s Equals ( Name ) )myItem = Listview Items Add ( reader Value ) ;elsemyItem SubItems Add ( reader Value ) ;break ;
四 C#读取XML的文件的源程序代码(read cs)
在了解了上面的内容以后
可以得到用C#读取指定XML文件的完整代码 具体如下
using System ;using System Drawing ;using System Collections ;using System ComponentModel ;using System Windows Forms ;using System Data ;using System Xml ;public class Form : Formprivate Button button ;private ListView Listview ;private System ComponentModel Container ponents = null ;public Form ( )//初始化窗体中的各个组件InitializeComponent ( ) ;//清除程序中使用过的资源protected override void Dispose ( bool disposing )if ( disposing )if ( ponents != null ) ponents Dispose ( ) ;base Dispose ( disposing ) ;private void InitializeComponent ( )button = new Button ( ) ;Listview = new ListView ( ) ;SuspendLayout ( ) ;button Anchor = ( ( AnchorStyles Bottom | AnchorStyles Left ) | AnchorStyles Right ) ;button Location = new Point ( ) ;button Name = button ;button Size = new Size ( ) ;button TabIndex = ;button Text = 读取XML文档 ;button Click += new System EventHandler ( button _Click ) ;Listview Anchor = ( ( ( AnchorStyles Top | AnchorStyles Bottom ) | AnchorStyles Left ) | AnchorStyles Right ) ;Listview GridLines = true ;Listview Location = new Point ( ) ;Listview Name = Listview ;Listview Size = new Size ( ) ;Listview TabIndex = ;Listview View = View Details ;this AutoScaleBaseSize = new Size ( ) ;this ClientSize = new Size ( ) ;this Controls Add ( Listview );this Controls Add ( button );this Name = Form ;this StartPosition = FormStartPosition CenterScreen ;this Text = 用C#来读取XML文档 ;this ResumeLayout ( false ) ;static void Main ( ) Application Run ( new Form ( ) ) ;private void button _Click ( object sender System EventArgs e )ListViewItem myItem = new ListViewItem ( ) ;// 构建listview组件Listview Columns Clear ( ) ; Listview Items Clear ( ) ;Listview Columns Add ( Name HorizontalAlignment Left ) ; Listview Columns Add ( Zip HorizontalAlignment Left ) ; Listview Columns Add ( Address HorizontalAlignment Left ) ; Listview Columns Add ( City HorizontalAlignment Left ) ; Listview Columns Add ( State HorizontalAlignment Left ) ; XmlNodeReader reader = null ;trystring s = ;XmlDocument doc = new XmlDocument ( ) ;// 装入指定的XML文档doc Load ( C:\\\\data xml ) ;// 设定XmlNodeReader对象来打开XML文件reader = new XmlNodeReader ( doc ) ;// 读取XML文件中的数据 并显示出来while ( reader Read ( ) ) //判断当前读取得节点类型switch ( reader NodeType )case XmlNodeType Element :s = reader Name ;break ;case XmlNodeType Text :if ( s Equals ( Name ) )myItem = Listview Items Add ( reader Value ) ;elsemyItem SubItems Add ( reader Value ) ;break ; finally//清除打开的数据流if ( reader != null )reader Close ( ) ;
五.总结
cha138/Article/program/net/201311/12929相关参考
用XmlDocument创建XML文档 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 代码如下&
C#如何读取和创建INI文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在做项目过程中有时需
Sandcastle入门:创建C#帮助文档 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使用S
C#中通过读取配置文件动态创建泛型对象 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 背景 我
利用XSL和ASP实现XML文档在线编辑 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文通过
在VisualC#中使用XML指南之读取XML 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!对于X
用Ajax读取XML格式的数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用Ajax读取XML
读取xml文件 /** *利用XmlBeanFactory(Resourceresource) *这里Resource必须是xml格式 *Resource包括AbstractResourc
PHP网络开发详解:XML文件的读取[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 
PHP网络开发详解:XML文件的读取[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!