手把手教你C#读取XML文件

本文详细介绍了如何使用C#进行XML文件的创建与读取。通过两种不同方法创建XML文档,包括逐级构建XML结构和直接定义XML内容。同时展示了如何加载XML文件并利用XmlNodeReader读取数据,将其内容填充到ListView组件中。通过对XML文档的读写操作,加深理解C#与XML的紧密关系。
摘要由CSDN通过智能技术生成

C#读取XML资料




一 C#读取XML资料

扩充标记语言XML(eXtensible Markup Language),是由W三C机关制订的。做为用以代替HTML语言的一种新式的标记语言,XML内部有着很多根本基准,XML乃是经过与这些相干基准地组合,应用于科学计算、电子出版、多媒体系体例作和电子商务的。C#作为一种新式的程序语言,是.Net构架的一个主要组成部分,他和XML的关系颇深。正文就从一个方面来研讨一下子这彼此的关系。即:观用C#何以来创造和读取XML文档。

1. 正文程序设计和运作的软件环境:

(1).微软公司视窗2000服务器版

(2)..Net FrameWork SDK Beta 二

2. C#创造XML文档:

在正文中我们来引见一下子用C#创造XML文档的二种步骤,这二种步骤各有所长,第一种创办起来更灵便,第二种创设起来更便利。

(1).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文档中数据的不同的构造来创设其余的数据了。


using System ;

using System.Xml ;

class MainClass

{

XmlDocument 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" ) ;









--------------------------------------------------------------------------------



C#读取XML资料

xmldoc.ChildNodes.Item(一).AppendChild ( xmlelem二 ) ;

//封存创设好的XML文档

try

{

xmldoc.Save ( "c://data.xml" ) ;

}

catch ( Exception e )

{

//展示错误信息

Console.WriteLine ( e.Message ) ;

}

Console.ReadLine ( ) ;

}

}

(3).C#创设XML文档的第二种步骤:

在引见完第一种步骤之后,我念每一个读者都感觉到用C#创设XML文档是一项比较烦杂的工作了,由于不仅仅要懂得创办的学识,还要理解文档的构造,这么创设的历程乃是一步一步的了。下头就来引见一种比较简略的创设步骤,这种创造步骤是直接定义XML文档,其后把他保留到资料中就可以了。

(一).创办一个XML文档:

这一点和第一种步骤同样,在这里就不引见了。

(二).经过"XmlDocument"种中的"LoadXml"步骤,直接在文档中加入想要加入的XML数据。当然你加入的XML应当契合XML的语法,要不然发作的资料也没有什么意思了。底下是加入XML的具体代码:

doc.LoadXml (

" " +

"" +

"Ma Jin Hu" +

" 239000 " +

"

Feng Huang Street

" +

"Chu Zhou City" +

" ANHUI " +

"" +

"" +

"Wang Tian" +

" 239000 " +

"

Lang Ya Street

" +

"He Fei City" +

" ANHUI " +

"" +

"" +

"Zou Wen Biao" +

" 100000 " +

"

Sai Di Street

" +

"Bei Jin City" +

"Bei Jin" +

"" +

"" ) ;


封存XML文档是经过"XmlDocument"种中的"Save"步骤来兑现的。具体如次:

doc.Save ( "data.xml" ) ;

(4).C#创设XML文档的第二种步骤的源程序代码(NO二.cs):

using System ;

using System.IO ;

using System.Xml;

public class Sample

{

public static void Main ( )

{

//创办一个XmlDocument对象

XmlDocument doc = new XmlDocument ( ) ;

doc.LoadXml (

" " +

"" +

"Ma Jin

C# XML文件读写操作源码,以及如何调用,注释详解,有任何问题请留言, 以下截取xml文件和部分调用代码段: * ++++++++++++++++++++++++++++++++++++++ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!--TestPlugins的信息--> <!--DataPlugins的信息--> * ++++++++++++++++++++++++++++ xml xl = new xml(); xl.XMLWriteRootNode("info"); //XmlElement Eml1 = xl.XMLReadNode("",0); //XmlElement Eml2 = xl.XMLReadNode("DataPlugins", 1); //XmlElement Eml4 = xl.XMLReadNode("DeviceInfo", 2); // TestPlugins XmlElement testPlugins = xl.XMLCreateNode("TestPlugins", null, null); xl.XMLInsertNode("info", 0, "TestPlugins的信息", testPlugins); // FixturePlugin XmlElement fixturePlugin = xl.XMLCreateNode("TestPlugin", null, new Dictionary() { { "Type", "FixturePlugin" } }); xl.XMLInsertNode(testPlugins.LocalName, 1, null, fixturePlugin); // DUTPlugin XmlElement DUTPlugin = (XmlElement)fixturePlugin.CloneNode(true);// xl.XMLCreateNode("TestPlugin", null, new Dictionary() { { "Type", "DUTPlugin" } }); DUTPlugin.SetAttribute("Type", "DUTPlugin"); xl.XMLInsertNode(testPlugins.LocalName, 1, null, DUTPlugin); // Agilent34461APlugin XmlElement Agilent34461APlugin = xl.XMLCreateNode("TestPlugin", null, new Dictionary() { { "Type", "Agilent34461APlugin" } }); xl.XMLInsertNode(testPlugins.LocalName, 1, null, Agilent34461APlugin); // ================================== // DataPlugins XmlElement dataPlugins = xl.XMLCreateNode("DataPlugins", null, null); xl.XMLInsertNode("info", 0, "DataPlugins的信息", dataPlugins); // CSVLogPlugin XmlElement csvlogPlugin = xl.XMLCreateNode("DataPlugin", null, new Dictionary() { { "Type", "CSVLogPlugin" } }); xl.XMLInsertNode(dataPlugins.LocalName, 1, null, csvlogPlugin); XmlElement uartlogPlugin = (XmlElement)csvlogPlugin.CloneNode(true); uartlogPlugin.SetAttribute("Type", "UartLogPlugin"); xl.XMLInsertNode(dataPlugins.LocalName, 1, null, uartlogPlugin); XmlElement testlogPlugin = (XmlElement)csvlogPlugin.CloneNode(true); testlogPlugin.SetAttribute("Type", "TestLogPlugin"); xl.XMLInsertNode(dataPlugins.LocalName, 1, null, testlogPlugin); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值