当前位置: 首页 > 编程日记 > 正文

Linq初级班 Linq To XML体验(基础篇)

LINQ To XML体验(基础)

这两天开始学习LINQ to XML的知识,我会继续把自己的感想和示例发布给初学者们学习的,一样欢迎高手们多多指点,请勿使用过激语言,针锋相对,我是个初学者,自知还有许多不足的地方,还请高手们多多耐心指导,好了,下面就开始我们的LINQ to XML旅程吧,在此之前我们需要先了解一下基础知识.

1.LINQ to XML是一种使用XML的新方法,它采用了多种当前使用的XML处理技术,如DOM和XPath,并在.NET Framework内组合为单一的编程接口.
2.LINQ to XML是基于LINQ的,这意味着可以使用LINQ中所有的功能,如标准查询操作符和LINQ编程接口.
3.LINQ to XML由System.Xml.Linq命名空间极其相应的类提供,因此工程中记得添加这个引用哦.

下面列出System.Xml.Linq命名空间中的19个类和基本描述,并且在本章我们一起了解一下最常用到的3个类:XDocument,XElement,XAttribute.之后我们将在下一章以编程示例来讲解如何使用LINQ to XML进行XML操作.

目录

1.System.Xml.Linq简介

2.XElement类

3.XAttribute类

4.XDocument类

1.System.Xml.Linq简介

说明
Extensions包含 LINQ to XML 扩展方法。
XAttribute表示一个 XML 属性。
XCData表示一个包含 CDATA 的文本节点。
XComment表示一个 XML 注释。
XContainer表示可包含其他节点的节点。
XDeclaration表示一个 XML 声明。
XDocument表示 XML 文档。
XDocumentType表示 XML 文档类型定义 (DTD)。
XElement表示一个 XML 元素。
XName表示 XML 元素或特性的名称。
XNamespace表示一个 XML 命名空间。 无法继承此类。
XNode表示 XML 树中节点的抽象概念(元素、注释、文档类型、处理指令或文本节点)。
XNodeDocumentOrderComparer包含用于比较节点的文档顺序的功能。 无法继承此类。
XNodeEqualityComparer比较节点以确定其是否相等。 无法继承此类。
XObject表示 XML 树中的节点或特性。
XObjectChangeEventArgs提供有关 Changing 和 Changed 事件的数据。
XProcessingInstruction表示 XML 处理指令。
XStreamingElement表示支持延迟流输出的 XML 树中的元素。
XText表示一个文本节点。

2.XElement类

XElement类表示XML的元素,它是XContainer类的派生类,而XContainer类又派生于XNode类.一个元素是一个节点,因此很多时候会看到它们会交替着使用.XElement是LINQ to XML最重要且最基本的类型之一,因为它包含所有创建和操作XML元素所需要的功能,通过它可以创建元素,添加和修改元素的属性,甚至操作元素的内容.下面就用几个简单的示例来认识一下这个类吧.

代码

运行结果:

3.XAttribute类

XAttribute类是用来处理XML中元素的属性的,属性是与元素相关联的名称/值对,在操作上和元素有很多相似之处.属性不能作为XML树中的节点,因此不是派生于XNode类.每个属性必须有一个限定名,该名称对元素来说是唯一的.下面就用几个小示例体验一下XAttribute类吧.

代码

运行结果:

4.XDocument类

XDocument类提供了处理XML的方法,包括声明,注释和处理指令,一个XDocument对象可以包括以下内容: 

  1.  一个单一XElement对象(根) 
  2.  一个单一的XDeclaration对象 
  3.  一个单一的XDocumentType对象(指向一个DTD) 
  4.  任何数量的XProcessingInstruction对象 
  5.  任何数量的XComment对象 

不过在LINQ to XML来处理XML时基本不会用到声明,注释和处理指令.
下面就用一个示例来看看如何用XDocument来创建一个简单的XML文档吧,它包含几个元素和一个属性,一个处理指令和一些注释.

代码

运行结果:

小结:

以上为Linq to XML的基本知识,希望和我一样想学习Linq to XML的朋友把这些好好掌握了,这样我们就可以往Linq to XML体验(编程篇)前进啦~~~

相关文章

1.LinQ初体验 简单的示例(原创)

2.Linq初体验 Linq2SQL示例(原创)

3.Linq推迟查询的执行(原创)

4.Ling初体验 匿名类型在查询表达式中的使用

5.Linq初级班 标准查询操作符的使用和调用

6.Linq初级班 Linq To XML体验(编程篇)

7.Linq初级班 Linq To XML体验(基础篇)

8.Linq初级班 Linq To XML体验(高级编程篇)




本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2010/12/31/1921613.html,如需转载请自行联系原作者

相关文章:

c语言字符串机考题,2016全国计算机二级《C语言》机考试题及答案

2016全国计算机二级《C语言》机考试题及答案一、程序填空题(共18分)下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有…

如何快速优化机器学习的模型参数

作者 | Thomas Ciha译者 | 刘旭坤编辑 | Jane出品 | AI科技大本营【导读】一般来说机器学习模型的优化没什么捷径可循。用什么架构,选择什么优化算法和参数既取决于我们对数据集的理解,也要不断地试错和修正。所以快速构建和测试模型的能力对于项目的推进…

2004-10-26+ 用户输入的安全问题

最近在看一本叫《asp.net安全性高级编程》,把一些感兴趣的东西写成笔记当到这里吧,今天这一篇主要是讲怎么防御注入攻击的。script injection 1.验证内容a.使用regularexpressionvalidator的正则表达式来限制用户输入2.筛选用户输入a.使用string.replace…

在C语言中break语句称为,在C语言中,break语句的功能是退出函数

摘要:燃烧煤中质在中过程所含矿物,语言k语高温和氧化后分解,称为,体残的固留物生成。出函只装锅炉机时称(引风。语言k语锅炉规格都以其公取的常用称压一般为选力和来作阀门上的。...燃烧煤中质在中过程所含矿物,语言k语…

C语言算法6-15

2019独角兽企业重金招聘Python工程师标准>>> 【程序6】 题目:用*号输出字母C的图案。 1.程序分析:可先用*号在纸上写出字母C,再分行输出。 2.程序源代码: #include "stdio.h" main() { printf("Hello C…

二维数组c语言矩阵加法,C 语言实例 – 两个矩阵相加 - C 语言基础教程

C 语言实例使用多维数组将两个矩阵相加。#include int main(){int r, c, a[100][100], b[100][100], sum[100][100], i, j;printf("输入行数 ( 1 ~ 100): ");scanf("%d", &r);printf("输入列数 ( 1 ~ 100): ");scanf("%d", &c…

自动生成HTML的一段程序

<%ifSaveFile("list.htm","http://192.168.1.4:920/lcy.asp") thenResponse.write "已生成"elseResponse.write "没有生成"endiffunctionSaveFile(LocalFileName,RemoteFileUrl) DimAds, Retrieval, GetRemoteData OnErrorRe…

【JAVA零基础入门系列】Day2 Java集成开发环境IDEA

【JAVA零基础入门系列】&#xff08;已完结&#xff09;导航目录 Day1 开发环境搭建Day2 Java集成开发环境IDEADay3 Java基本数据类型Day4 变量与常量Day5 Java中的运算符Day6 Java字符串Day7 Java输入与输出Day8 Java的控制流程Day9 Java中的那个大数值Day10 Java中的数组Day1…

只讲技术,拒绝空谈!2018 AI开发者大会精彩议程曝光

2018 年 11 月 8-9 日&#xff0c;由中国 IT 社区 CSDN 与硅谷 AI 社区 AICamp 联合出品的 2018 AI 开发者大会&#xff08;AI NEXTCon&#xff09;将于北京盛大召开。届时&#xff0c;近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者将齐聚于此&#xff0c;展开全方位技…

经典的Java基础面试题集锦

问题&#xff1a;如果main方法被声明为private会怎样&#xff1f; 答案&#xff1a;能正常编译&#xff0c;但运行的时候会提示”main方法不是public的”。 问题&#xff1a;Java里的传引用和传值的区别是什么&#xff1f; 答案&#xff1a;传引用是指传递的是地址而不是值本身…

c语言组队,组队列问题。会做的高手帮帮忙啊

算法实验题4.10 组队列问题 问题描述&#xff1a;组队列是一个特殊的抽象数据类型&#xff0c;它所支持的运算类似于队列运算具有附加的组属性。因此入队运算 Enqueue(x)与通常定义的运算不eue(x)运算将元素x加入当前队列中与元素x 属于同一组的元素的尾有与x属于同一组的元素&…

算力超英伟达?华为推出两款“昇腾”芯片;五大AI战略正式公布

整理 | 非主流、费棋 出品 | AI科技大本营 华为也像是要 All in AI 了。 10 月 10 日&#xff0c;华为全联接大会 2018 上&#xff0c;华为轮值董事长徐直军带来了一系列的硬核 AI。在大会上&#xff0c;他系统公布了华为的 AI 发展战略&#xff0c;以及全栈全场景 AI 解决方案…

《SharePoint Portal Server 2003 深入指南》出版预告

《SharePoint Portal Server 2003 深入指南》在8月底、9月初应该就会上市了&#xff0c;如果您想得到这本书&#xff0c;方法包括&#xff1a; 1、等到书店到货之后&#xff0c;在书店购买。 2、网上订购。比如在Dearbook上&#xff1a;http://www.dearbook.com.cn/book/110838…

python内置数据结构之dict

字典是什么 key-value对的集合.可变的、无序、key不重复的序列.key只能是唯一标识,value不限定,只要是合法的value.key和value一一对应.字典的定义初始化空字典定义 dict() 和 {}例;d dict() 或 d {}字典定义初始化- 1dict(**kwargs) 使用namevalue的格式,定义字典例:…

Google发布三大新品,Pixel手机价格直逼苹果

整理 | 费棋出品 | AI科技大本营北京时间 10 月 9 日晚间&#xff0c;Google 在秋季发布会上推出了 Pixel 手机、平板电脑 Pixel Slate 以及智能音箱 Home Hub三大新品。最新旗舰手机 Pixel 3 和 Pixel 3 XL 如约而至&#xff0c;但由于产品信息在发布前就已被泄露&#xff0c;…

github上好的c语言项目,2019 github热门项目

zdogzdog是一款js 3D引擎&#xff0c;zdog不同于其他的js 3D引擎的地方在于所有的API引用全部都是2D绘图&#xff0c;所以zdog项目才会简单&#xff0c;但是高效。一起来做马里奥吧&#xff01;craftcraft是Mojang工作室在github上的开源项目&#xff0c;craft完全采用c语言实现…

性能测试注意事项

作者&#xff1a;不详 性能测试注意事项&#xff1a; 1&#xff0e;服务器端和客户端一定要同一个局域网内&#xff0c;否则网络因素会成为性能测试的瓶颈。 2&#xff0e;在性能测试脚本中要注意检查点的设置&#xff0c;否则都不清楚脚本是否真的成功执行操作。 3&#xff0e…

【笔记】PIL 中的 Image 模块

Image 模块提供了一个同名类&#xff08;Image&#xff09;&#xff0c;也提供了一些工厂函数&#xff0c;包括从文件中载入图片和创建新图片。例如&#xff0c;以下的脚本先载入一幅图片&#xff0c;将它旋转 45 度角&#xff0c;并显示出来&#xff1a; 1 >>>from P…

c语言万年历的设计报告,万年历设计报告

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#includechar* month_str[]{"January","February","March","April","May","June","July","August","September","Octob…

SQL Server的数据库开发工具

偶然的机会看到这个工具&#xff0c;看来比Oracle的PL/SQL Dev 有过之而无不及呀。而且是免费的哟这个工具看起来确实很牛呀&#xff0c;只是我还没有试用过。SQL Prompt 为Microsoft SQL Server 编辑器提供一种智能感知形式的自动完成功能&#xff0c;当你正在写你自己的SQL命…

国内首个深度学习工程师认证标准发布

10月10日&#xff0c;深度学习工程师认证发布会暨人工智能人才发展论坛在京召开。会上&#xff0c;基于中国软件行业协会发布的国内AI领域第一个专业技术人才培养标准——《深度学习工程师能力评估标准》&#xff08;以下称《标准》&#xff09;&#xff0c;深度学习技术及应用…

对于未来的多种可能,这几位中国科学家想说

注&#xff1a;本文来自“ 2018 AI开发者大会”媒体合作伙伴深科技十年前&#xff0c;人工智能还被叫做模式识别&#xff0c;中本聪也才刚刚提出区块链概念。现如今&#xff0c;人类发现了石墨烯的新制法&#xff0c;利用 CRISPR-Cas9 战胜了过去不可治愈的病症&#xff0c;甚至…

android 虚方法,尝试在空对象引用上调用虚方法’android.view.View android.view.View.getRootView()’...

我收到这个错误,“Attempt to invoke virtual method ‘android.view.Viewandroid.view.View.getRootView()’ on a null object reference”这是我的代码.black.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {View bView findViewBy…

一个男人和一个女人的故事

一个男人和一个女人的故事,开始还有点意思,后来就有想打人的冲动.his_and_her_circumstance, 彼男彼女的事情. 还是一个男人和一个女人的故事简单. 曾经看到过介绍, 夸得天花乱缀. 我就下了,又花了一个星期的耐心终于看完了. 开始看,以为又是搞笑的青春校园故事. 后来越看越没…

Filezilla 二进制上传设定

大部份人都用這套吧&#xff0c;免費而且還不斷更新中。由於有些php源碼是有zend壓縮&#xff0c;沒用二進制傳送&#xff0c;會有問題&#xff0c;所以上傳模式最好是直接設定為二進制&#xff0c;如下圖&#xff1a;另外我建議最好也設定一次只傳一個檔&#xff0c;雖然慢了些…

android wear无法启用,android-wear – 无法创建Android虚拟设备,“没有为此目标安装系统映像”...

为了创建一个Android穿戴式模拟器&#xff0c;你需要按照下面的说明&#xff0c;1.如果您的Android SDK工具版本低于22.6&#xff0c;您必须更新2.在Android 4.4.2下&#xff0c;选择Android Wear ARM EABI v7a系统映像并安装它。3.Brolow Extras&#xff0c;确保您拥有最新版本…

全球物联网产业规模不断扩大 中国市场前景分析

近年来&#xff0c;物联网在行业领域的应用逐步深化。车辆远程信息服务管理、车联网、智能电网是近年来发展较快的应用领域&#xff0c;该等领域是物联网中率先形成完整产业链和内在驱动力的应用。拥有成熟产业链的车联网行业将率先发力&#xff0c;引领物联网行业的发展方向。…

月薪30k~50k,这个领域的人才正在被疯抢!

参加 2018 AI开发者大会&#xff0c;请扫描海报二维码 2016 年 IT 业年平均工资破 12 万元&#xff0c;首次超过金融业&#xff0c;排名各行业门类首位。2017 年&#xff0c;IT 业再次高居榜首&#xff0c;并一举超过 13 万元。挣得多花的少的程序员已经成为相亲市场上的香饽饽…

ADO.NET并发性

ADO.NET已经得到了广泛的应用&#xff0c;对于初学者搞懂基本的概念很重要&#xff0c;不如就写点基础的吧。首先介绍一下什么叫“并发”&#xff1a;我们在使用多用户数据库时常常会碰到数据更新失败、删除失等情况&#xff0c;如果有多个用户且同时访问一个数据库则当他们的事…

[JAVA] java仿windows 字体设置选项卡

想用java做一个像windows里一样的txt编辑软件&#xff0c;涉及到字体设置选项卡&#xff0c;在网上找了很久都没找到&#xff0c;就生气啦自己写一个&#xff0c;现在贴这里分享一下&#xff0c;下次再遇到这样的问题就不用自己亲自打代码啦&#xff01; 1 package 实验;2 3 im…