ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:658.29KB ,
资源ID:24296485      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24296485.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LINQ to XML.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LINQ to XML.docx

1、LINQ to XMLLINQ to XMLLINQ to XML是LINQ系列技术中的一种,它主要用来处理XML结构的数据。LINQ to XML提供了修改文档对象模型的内存文档和支持LINQ查询表达式等功能,以及处理XML文档的全新的编程接口。本章节介绍LINQ to XML提供的基础类,以及使用LINQ to XML查询、创建、修改和删除XML文档的方法。1 LINQ to XML概述LINQ to XML是一种启用了LINQ的内存XML编程接口。使用LINQ to XML可以在.NET Framework编程语言中处理XML结构的数据。LINQ to XML可以将XML文档保存在内存中

2、,并对内存中的XML文档进行查询、修改操作,以及将内存中的XML文档另存为XML文件。LINQ to XML与传统的DOM的最大不同之处在于:LINQ to XML提供了一种新的轻量级的对象模型。正是因为LINQ to XML集成了LINQ,才使得LINQ to XML查询、检索、操作XML文档变得更加简单。LINQ to XML查询XML文档的查询表达式与XPath在语法上不相同,但是,它们提供相似的功能。下面的实例代码使用LINQ演示了查询Book.xml文件中的根节点“Books”的方法。XDocument doc = /省略了初始化代码/查询根元素IEnumerable element

3、s = from e in doc.Elements(Books)select e;使用LINQ to XML可以对XML文档(或片段)实现以下功能或操作: 从文件或流加载XML文档,即读取XML文档的内容。 将XML文件序列化为文件或流,即XML文档的序列化操作。 使用函数构造更加简单、方便地从头开始创建一个新的XML文档。 使用LINQ更加简单、方便地查询XML文档。 添加、修改和删除XML文档中的元素、属性等信息。 使用XSD验证XML文档。1.1 LINQ to XML基础类LINQ to XML提供了多个支持查询和操作XML文档的基础类,具体说明如下。 XElement类,表示XML

4、文件中的元素。 XAttribute类,表示XML文件中的元素的属性(名称/值对)。 XDocument类,表示一个XML文档。 XDeclaration类,表示XML文件中XML声明。 XComment类,表示XML文件中一个XML注释,一般使用“”格式表示。 XNamespace类,表示XML文件中的一个XML命名空间。 XDocumentType类,表示XML文件的文档类型定义(DTD)。 XName类,表示XML元素或属性的名称。 XCData类,表示包含CDATA的文本节点。 XNode类,表示XML文件中的一个节点,可以为元素、注释、文本、XML处理指令等。 XText类,表示一个

5、文本节点。 XContainer类,表示可以包含子节点的节点,即充当一个节点“容器”。 XProcessingInstruction类,表示XML处理指令。 XObject类,表示XML文件中的节点或属性。 XObjectChange枚举,指定XObject对象引发的事件的事件类型。 XObjectChangeEventArgs类,为XObject对象引发的事件提供相关数据。 XNodeEqualityComparer类,用来比较两个节点是否相等。 XNodeDocumentOrderComparer类,提供用于比较节点的文档顺序1.2 使用函数构造方法创建XMLLINQ to XML提供了一

6、种被称为“函数构造”的方式来创建XML元素(或文档或属性等)。其中,函数构造是指在单个语句中创建XML元素(或文档或属性等)的能力。LINQ to XML中的XElement函数构造具有以下2个特点: XElement函数的参数的数据类型为Object的params数组。因此,该函数可以使用任意数量的对象(参数的值)。 XElement构造函数可以使用采用多种类型的参数。下面的实例代码使用LINQ to XML调用XDocument函数构造了一个XML文档,并在该文档中添加了XML声明、根元素Books、一级子元素Book及其ID属性、二级子元素(NO、Name、Price和Remark)等内

7、容。XDocument doc = new XDocument( new XDeclaration(1.0,utf-8,yes), new XElement(Books, new XElement(Book, new XAttribute(ID,104), /添加属性ID new XElement(No,0004), /添加元素No new XElement(Name,Book 0004), /添加元素Name new XElement(Price,300), /添加元素Price new XElement(Remark,This is a book 0004.) /添加元素Remark )

8、);2 LINQ to XML基础类本小节主要介绍了LINQ to XML提供查询和操作XML文档的基础类,如XElement、XAttribute、XDocument、XDeclaration、XComment、XNamespace等。2.1 XElement类XElement类表示XML文件中的一个元素(XML文件的基本组成部分)。一般情况下,每一个元素都必须包含其名称。它还可以包含以下4个组成内容: 元素(由XElement类表示),作为元素的子元素。 文本(由XText类表示)。 注释(由XComment类表示),将注释作为元素的一个子元素。 XML处理指令(由XProcessingI

9、nstruction类表示),用来指定处理该XML文件的处理器。XElement类提供了多个属性获取或操作XML文件中的元素,如获取元素名称的Name属性、获取元素的值的Value属性等。XElement类的属性如表所示。表 XElement类的属性属 性说 明Name元素的名称。Value元素的值。FirstAttribute元素的第一个属性。LastAttribute元素的最后一个属性。HasAttributes表示元素是否包含属性。HasElements表示元素是否包含元素。IsEmpty表示是否为一个空元素。EmptySequence空的元素集合。另外,XElement类还提供了多个方

10、法操作XML文件中的元素,如设置元素的值的SetValue()方法、移除元素的所有节点和属性的RemoveAll()方法等。XElement类的方法如表所示。表 XElement类的方法方 法说 明AncestorsAndSelf()自身及其上级元素的集合。DescendantsAndSelf()自身及其子元素元素的集合。DescendantNodesAndSelf()自身及其子节点的集合。Load()导入XML文件或片段,并创建为XElement类实例。Parse()解释XML文件或片段,。Save()将XElement实例保存为XML文件。Attribute()获取指定的属性。Attrib

11、utes()获取该元素的所有属性。GetDefaultNamespace()元素的默认命名空间。GetNamespaceOfPrefix()与元素相关的命名空间的。GetPrefixOfNamespace()获取与元素的命名控件的前缀。ReplaceAll()替换该元素自动的属性。RemoveAll()移除该元素的所有内容。ReplaceAttributes()替换该元素的所有属性。RemoveAttributes()移除元素的属性。SetValue()设置该元素的值。SetAttributeValue()设置该元素的属性的值。SetElementValue()设置该元素的子元素的值。下面的实

12、例代码创建了名称为Advertisements的元素,并添加了两个子元素Ad。同时,Ad元素也包含Name和Url元素及其值。具体步骤如下。(1)创建Advertisements元素及其子元素和值。(2)使用网页显示Advertisements元素的内容。(3)设置网页的输出格式为“text/xml”,并中止网页的输出操作。private void XElementClass() /创建一个XML元素 XElement element = new XElement(Advertisements, new XElement(Ad, new XElement(Name,w3c), /添加元素Nam

13、e new XElement(Url,) /添加元素Url ), new XElement(Ad, new XElement(Name,Microsoft), /添加元素Name new XElement(Url,) /添加元素Url ) ); /显示XML文件的内容 Response.Write(element); /设置网页显示的形式为XML文件 Response.ContentType = text/xml; Response.End(); Sample_11项目中的LinqtoXmlBaseClass.aspx页面测试了上述实例代码(XElementClass()函数),测试结果如图所

14、示。 2.2 XAttribute类XAttribute类表示XML文件中的一个属性,即表示一个名称/值对。在XML文件中,属性一般用于描述元素的特性,一个元素可以不包含属性,也可以包含一个或多个属性。XAttribute类提供了多个属性获取或操作XML文件中的元素的属性,如获取属性名称的Name属性、获取属性的值的Value属性等。XAttribute类的属性如表11.3所示。表 XAttribute类的属性属 性说 明Name属性的名称。Value属性的值。NextAttribute其父元素的下一个属性。PreviousAttribute其父元素的上一个属性。NodeType节点的节点类型

15、。IsNamespaceDeclaration表示该属性是否为命名空间的声明。EmptySequence空的属性集合。另外,XAttribute类还提供了多个方法操作XML文件中的元素的属性,如设置属性的值的SetValue()方法、移除属性自身的Remove()方法等。XAttribute类的方法如表11.4所示。表 XAttribute类的方法方 法说 明Remove从其父元素中移除该属性。SetValue()设置该属性的值。下面的实例代码创建了名称为Advertisements的元素,并添加了两个子元素Ad。同时,还为Ad元素设置了ID属性、Name和Url元素及其值。具体步骤如下。(1

16、)创建Advertisements元素,并创建两个子元素Ad。其中,Ad元素包含了ID属性、Name和Url元素。第一个Ad元素的ID属性的值为1,第二个Ad元素的ID属性的值为2。(2)使用网页显示Advertisements元素的内容。(3)设置网页的输出格式为“text/xml”,并中止网页的输出操作。 private void XAttributeClass() /创建一个XML元素 XElement element = new XElement(Advertisements, new XElement(Ad, /创建属性 new XAttribute(ID,1), /添加属性ID n

17、ew XElement(Name,w3c), /添加元素Name new XElement(Url,) /添加元素Url ), new XElement(Ad, /创建属性 new XAttribute(ID,2), /添加属性ID new XElement(Name,Microsoft), /添加元素Name new XElement(Url,) /添加元素Url ) ); /显示XML文件的内容 Response.Write(element); /设置网页显示的形式为XML文件 Response.ContentType = text/xml; Response.End(); Sample_

18、11项目中的LinqtoXmlBaseClass.aspx页面测试了上述实例代码(XAttributeClass()函数),测试结果如图所示。2.3 XDocument和XDeclaration类XDocument类表示一个XML文档,XDeclaration类表示XML文件中XML声明。其中,XML声明用来声明XML文件的版本、编码,以及XML文件的是否独立。一般情况下,在创建一个XML文件时,需要添加XML声明。XDocument类提供了多个属性获取XML文件的属性,如获取XML文件的XML声明的Declaration属性、获取XML文件的根元素的Root属性等。XAttribute类的属

19、性如表所示。表 XDocument类的属性属 性说 明Declaration文件的XML声明。Root文件的根元素。DocumentType文件的文档类型。NodeType文件的节点类型。另外,XDocument类还提供了多个方法操作XML文件,如导入XML文件内容的Load()方法、解释XML文件的Parse()方法等。XAttribute类的方法如表所示。表 XDocument类的方法方 法说 明Load导入指定地址的XML文件的内容,并创建为XDocument类实例。Save将XDocument类的实例保存为指定地址的XML文件。Parse读取指定的XML文件,并解释该XML文件中的内容

20、。XDeclaration类提供了3个属性描述XML声明,具体说明如表所示。表 XDeclaration类的属性属 性说 明VersionXML文件的版本。EncodingXML文件的编码。Standalone指定XML文件是否独立。下面的实例代码使用XDocument类创建一个XML文件,并保存为“file.xml”文件。其中,该XML文件的根元素为Advertisements元素。根元素又包含两个子元素Ad,Ad元素设置了ID属性、Name和Url元素及其值。具体步骤如下。(1)创建XDocument类的实例doc,即创建一个XML文件。(2)使用XDeclaration类创建该XML文件

21、的声明。(3)使用XElement类创建该XML文件包含的元素Advertisements,以及该元素的子元素及其属性等内容。(4)调用Save()方法将doc实例保存为XML文件“file.xml”。(5)使用网页显示“file.xml”文件的内容。(6)设置网页的输出格式为“text/xml”,并中止网页的输出操作。 private void XDocumentClass() /设置新的XML文件保存的地址 string xmlFilePath = Server.MapPath(Data/file.xml); /创建一个新的XML文档 XDocument doc = new XDocume

22、nt( new XDeclaration(1.0,utf-8,yes), new XElement(Advertisements, new XElement(Ad, new XAttribute(ID,1), /添加属性ID new XElement(Name,w3c), /添加元素Name new XElement(Url,) /添加元素Url ), new XElement(Ad, new XAttribute(ID,2), /添加属性ID new XElement(Name,Microsoft), /添加元素Name new XElement(Url,) /添加元素Url ) ) );

23、/保存为XML文件 doc.Save(xmlFilePath); /显示XML文件的内容 Response.Write(doc); /设置网页显示的形式为XML文件 Response.ContentType = text/xml; Response.End(); Sample_11项目中的LinqtoXmlBaseClass.aspx页面测试了上述实例代码(XDocumentClass()函数),测试结果如图所示。 2.4 XComment类 XComment类表示XML文件中的一个XML注释,一般使用“”格式表示。开发人员可以按照操作元素的方法来操作XML注释,如把XML注释添加为元素的子节

24、点,甚至还可以把XML注释放置在与根元素并列的位置。XComment类只包含2个属性:NodeType和Value。其中,NodeType属性表示XML注释的节点类型,Value属性表示XML注释的注释内容。下面的实例代码创建了名称为Advertisements的元素,并添加了两个子元素Ad。同时,还为Ad元素设置了ID属性、Name和Url元素及其值。最后,还为第二个Ad元素添加了注释。具体步骤如下。(1)创建Advertisements元素,并创建两个子元素Ad。其中,Ad元素包含了ID属性、Name和Url元素。第一个Ad元素的ID属性的值为1,第二个Ad元素的ID属性的值为2。(2)使

25、用XComment类为第二个Ad元素创建注释“This is a website.”。(3)使用网页显示Advertisements元素的内容。(4)设置网页的输出格式为“text/xml”,并中止网页的输出操作。 private void XCommentClass() /创建一个XML元素 XElement element = new XElement(Advertisements, new XElement(Ad, new XAttribute(ID,1), /添加属性ID new XElement(Name,w3c), /添加元素Name new XElement(Url,) /添加元

26、素Url ), new XElement(Ad, new XComment(This is a website.), /添加注释 new XAttribute(ID,2), /添加属性ID new XElement(Name,Microsoft), /添加元素Name new XElement(Url,) /添加元素Ur ) ); /显示XML文件的内容 Response.Write(element); /设置网页显示的形式为XML文件 Response.ContentType = text/xml; Response.End(); Sample_11项目中的LinqtoXmlBaseClas

27、s.aspx页面测试了上述实例代码(XCommentClass()函数),测试结果如图所示。2.5 XNamespace类 XNamespace类表示XML文件中的一个XML命名空间。XML命名空间一般表示名称为“xmlns”的名称/值对。XNamespace类提供了4个属性获取与XML命名空间相关的值,如命名空间的URI、与XML URI相关的XNamespace对象等。XNamespace类的属性如表所示。表 XDocument类的属性属 性说 明NamespaceName命名空间的URI。Xml获取与XML URI对应的XNamespace对象。Xmlns获取与xmlns URI对应的X

28、Namespace对象。None获取不与命名空间对应的XNamespace对象。下面的实例代码创建了名称为Advertisements的元素,并添加了两个子元素Ad。同时,还为Ad元素设置了ID属性、Name和Url元素及其值。最后,还为第二个Ad元素添加了注释,为第二个Ad元素的子元素URL添加了命名空间。具体步骤如下。(1)创建Advertisements元素,并创建两个子元素Ad。其中,Ad元素包含了ID属性、Name和Url元素。第一个Ad元素的ID属性的值为1,第二个Ad元素的ID属性的值为2。(2)使用XComment类为第二个Ad元素创建注释“This is a website.

29、”。(3)使用XNamespace类为第二个Ad元素的子元素URL添加了命名空间,并指定的连接地址(URL)为“”。(4)使用网页显示Advertisements元素的内容。(5)设置网页的输出格式为“text/xml”,并中止网页的输出操作。 private void XNamespaceClass() /创建命名空间 XNamespace xns = ; /创建一个XML元素 XElement element = new XElement(Advertisements, new XElement(Ad, new XAttribute(ID,1), /添加属性ID new XElement(Name,w3c), /添加元素

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1