第12章 在.NET中操作XML
12.1 XML概述
12.1.1 为什么要有XML
12.1.2 XML文档结构
(1)文档声明
<?xml version="1.0"encoding="UTF-8"?>
(2)处理指令
处理指令以<?开头,以?>结束
(3)节点,元素,标记
注释节点,文本节点,文档声明节点,元素节点,元素是节点的子集,元素是XML的主要结构,元素的表现形式是标记
(4)有且只有一个文档元素
(5)标记不能交错嵌套
(6)标记必须闭合
(7)XML是大小写敏感的
(8)元素可以包含属性,文本。为了操作简单,一种做法是永远不为元素标记添加文本,只使用属性。
(9)预定义实体引用
<:<>:>&:&':'":"
(10)CDATA
格式为<![CDATA[]]>。CDATA中的文本会被解析器忽略,不要求其满足XML的规则。
(11)文档类型声明
<!DOCTYPE rootElement>,其中rootElement即文档的根节点名称
(12)自定义实体声明和引用
<!DOCTYPE movieList [<!ENTITY Bruce "布鲁斯"><!ENTITY Jai "杰·科特尼">]>
(13)命名空间
命名空间声明为xmlns="url",或者xmlns:prefix="url"
12.1.3 XML的处理模型
1.XML DOM
2.XmlReader和XmlWriter
3.SAX
12.1.4 XML验证-XSD、DTD和XDR
12.1.5 XML格式转换-XSLT
12.1.6 XML选择器-XPATH(p219)
12.2 操作XML
12.2.1 节点类型
None,Element,Attribute,Text,CDATA。。。
12.2.2 使用XmlReader和XmlWriter
1.使用XmlReader读取XML文档
2.使用XmlReader生成XML文档
12.2.3 使用XmlDocument和XPath
12.2.4 使用XSD验证XML
12.2.5 使用XLST对XML进行转换
第12章 在.NET中操作XML的更多相关文章
- VC++中操作XML(MFC、SDK)转
[转]VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++ ...
- VBA中操作XML
OFFICE2007之后使用了OpenXml标准(伟大的改变),定制文本级的Ribbon可以通过修改压缩包内的xml文件来实现. 先学习一下VBA中操作XML的方法 先引用Microsoft XML ...
- 数据库中操作XML(openXML)
最近公司项目需要在数据库中操作XML,因此系统的学习了一下 一.openxml的格式 OPENXML( idoc int [ in] , XPathnvarchar [ in ] , [ flags ...
- C#.Net中操作XML方法一
我们知道XML是一种可标记性的语言,用来标记数据.定义数据类型,是一种执行用户对自己的标记语言进行定义的源语言.由于结构好.而且easy理解,就好比一棵树,层次关系分明,因此也经常把一些数据存储到XM ...
- C#学习笔记(12)——三种方法操作XML
说明(2017-7-11 16:56:13): 原文地址: C#中常用的几种读取XML文件的方法 XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web. ...
- [转]VC++中操作XML(MFC、SDK)
XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作XML有两个库可以用:MSXML和Xml ...
- 《python解释器源码剖析》第12章--python虚拟机中的函数机制
12.0 序 函数是任何一门编程语言都具备的基本元素,它可以将多个动作组合起来,一个函数代表了一系列的动作.当然在调用函数时,会干什么来着.对,要在运行时栈中创建栈帧,用于函数的执行. 在python ...
- C#中操作xml文件(插入节点、修改、删除)
已知有一个xml文件(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?> <b ...
- Flex中操作XML的E4X方法
用于处理 XML 的 E4X 方法 Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本 ECMAScript for XML 规范定义了一组用于使用 XML 数据的类 ...
随机推荐
- python set集合操作
set集合是一个无序且不重复的集合. 创建一个set集合: name = set('sdd') name 返回结果:{'d', 's'} add 功能:增加集合元素 name = {'d', 's'} ...
- C语言编程心得
记录这些是为了日后自己想查阅以前经验的方便,同时若能给其他网友带来一些帮助,就更好了~ C语言,自己经常遇到的问题: 1.段错误 段错误一般是由于访问了不存在的地址造成的,具体的原因有文件路径不存在, ...
- ecshop教程:重置后台密码MD5+salt
ecshop密码加密方式: MD5 32位+salt,简单来说就是明文密码用MD5加密一次,然后在得到的MD5字符后边加上salt字段值(salt值为系统随机生成,生成以后不再改变)再进行一次MD5加 ...
- docker swarm compose
swarm docker run swarm --help compose curl -L https://github.com/docker/compose/releases/download/1. ...
- mac10.9+php5.5.15+brew0.9.5的安装
Brew 是 Mac 下面的包管理工具,通过 Github 托管适合 Mac 的编译配置以及 Patch,可以方便的安装开发工具. Mac 自带ruby 所以安装起来很方便,同时它也会自动把git ...
- Debian系统常用配置
每一次安装Linux之后总需要设置一下系统,下面把常用的设置总结一下,方便以后使用: 1.系统安装包选择 每一次找Linux的安装包时,总会纠结一下选哪个好,我在这里总结一下:安装Debian选择对应 ...
- 5、StringBuffer与StringBuilder的区别(十进制转二进制)
1. 在执行速度方面的比较:StringBuilder > StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们 ...
- Navicat(连接) -1之HTTP 设置
HTTP 设置 HTTP 通道是一种连接到服务器的方法,使用与网络服务器相同的通讯协定(http://)和相同的端口(端口 80).这是当你的互联网服务供应商不允许直接连接,但允许创建 HTTP 连接 ...
- 动态布局--动态修改RelativeLayout宽高的方法
本文实例讲述了Android编程动态修改RelativeLayout宽高的方法.分享给大家供大家参考,具体如下: 我们经常会动态修改RelativeLayout的宽高,这样的代码,比较简单,就是修改R ...
- eclipse下tomcat插件配置说明