xml基本语法(2)
本节要点:
- 了解XML的文档声明
- 了解XML的元素、命名规则、属性、元素内容、处理指令等概念
1 XML文档声明
表示该文档是一个XML文档,以及遵循哪个XML版本的规范。
规范:<?xml 版本信息(编码信息)(文档独立性信息)?>
<?xml version="1.0" encoding="UTF-8" standalone=”no”?>
文档声明在XML文件中是可选的第一项,推荐在每个XML文档中都包含文档声明。如果在XML文件中写出了声明就必须包含version属性,表示XML的版本,截止目前XML只有一个版本,即1.0。在XML声明之前不许有任何内容,包括空格。
文档声明属性:
encoding属性(可选的):字符编码。默认采用Unicode编码
standalone属性(可选的):说明文档是否是独立的,yes(缺省)——该文档没有依赖外面的任何文件而可以独立存在,no——该文档依赖于外面的某个文件
如果同时设置了encoding和standalone属性,standalone属性要位于encoding属性之后。
2 元素
XML的基本组成单位是元素,元素由标记来定义,标记包括起始标记<>和结束标记</>,属性要写在起始标记内。在XML中,所有元素必须有结束标记。
语法样式:
<元素名 属性名=“属性值”>
元素内容
</元素名>
1) 元素内容
可以是其他元素标记、简单的文本、没有任何信息、其他元素标记和文本内容混合等。
在一个元素中可以嵌套若干个子元素
XML标记不能交叉
2) 元素关系
在XML中,各元素之间是相互关联的。包含在另一个元素中的元素称为子元素,包含子元素的元素称为父元素。嵌套子元素必须完整地包含在它的父元素中
3) 根元素
根元素指没有被嵌套在其他元素内的元素,最高层元素,仅一个。XML文档中所有元素都是根元素的子孙元素。
4) 空元素
不包含任何内容的元素。
3 命名规则
在XML中,可以使用自己需要的元素来扩展标记语言。
命名基本规则:
- 元素名称不能以数字或特殊字符开头
- 可以包含字母,数字,下划线等
- 不能以字符串“XML”作为开头
- 不能包含空格
- 尽量不要包含特殊字符
- 区分大小写
流行的命名规则:
- 元素名称尽量简短
- 大小写尽量采用同一标准
n 完全用小写字母来书写名称,当名称中包含多个单词时,相互之间用下划线隔开
n 将每个单词的首字母大写,不使用分隔符
- 可以使用非英文字符
n 推荐使用英文字符+数字来命
4 元素属性
元素属性是用来对元素做进一步说明的:
在XML中,属性值一定要用双引号或者单引号引起来,否则将被视为错误,推荐先使用双引号。属性区分大小写。
属性也可以被改为使用子元素来描述,但是推荐使用子元素描述数据。
属性不能包含多个值。
5 CDATA & PCDATA
5.1 CDATA
术语 CDATA 指的是不需要XML 解析器进行解析的文本数据(Unparsed Character Data)。
在 XML 元素中,"<" 和 "&" 是非法的。
"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。
"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。
某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束,可以在CDATA区嵌入其它语言的代码。
5.2 PCDATA
PCDATA指的是由XML解析器解析的内容,当作一般的文字资料来解读。
PCDATA区是指:
- 直接写在元素的起始标记和结尾标记之间的内容
- 由XML解析器解析的内容,当作一般的文字资料来解读
- XML解析程序会将空格和换行如实地交给下游程序去处理
有些字符不能直接写在pcdata区,如<、&等。
6 注释
注释的内容会被程序忽略而不做解释和处理。
注:不要把注释放在XML的声明之前;注释不能嵌套使用。
7 处理指令
为处理XML文档的应用程序提供提示信息
处理指令格式:
<?处理指令名 处理指令信息?>
<?xml-stylesheet type=“text/css” href=“book.css”?>:引入外部css文档
XML解析器会把处理指令原封不动地传送给应用程序,由应用程序来解释这个指令,按照它所提供的信息进行处理。
xml基本语法(2)的更多相关文章
- XML的语法
XML的语法 文档声明: 写法 <?xml version="1.0" ?> 文档声明必须出现在xml文件的第一行和第一列的位置 属性: version="1 ...
- XML DTD语法详解
XML DTD详解 XML DTD详解 前情提要与本文内容介绍 前面的两篇XML相关博文: 第一篇是介绍格式正规的XML: 格式正规的XML:语法 属性 实体 处理指令 样式单 CDATA节 第二 ...
- JAVA企业级开发-xml基础语法&约束&解析(04)
一.什么是xml html:超文本标记语言.它主要是用来封装页面上要显示的数据,最后通过浏览器来解析html文件,然后把数据展示在浏览器上.同样我们可以使用JS和DOM技术对html文件进行解析和操作 ...
- java日志框架系列(4):logback框架xml配置文件语法
1.xml配置文件语法 由于logback配置文件语法特别灵活,因此无法用DTD或schema进行定义. 1.配置文件基本结构 配置文件基本结构:以<configuration>标签开头, ...
- 2016 - 1 - 23 xml解析 -- 语法简介
一: XML的概念 1. 一种可拓展标记语言 2. 与json一样,也是一种常用的数据交互格式 3. 一般也叫XML文档---XML Document 二: XML语法 1.一个完整的XML文档一 ...
- xml的语法与创建
xml语法很简单,但很严格,如果出现错误则不能正常解析,而HTML如果出现局部的错误,照样解析 xml第一行必须写xml头<?xml version='1.0' encoding='utf8'? ...
- XML(一)语法
一.xml语法 1.文档声明 2.元素 3.属性 4.凝视 5.CDATA区.转义字符 6.处理指令 1.文档声明: 用来声明xml的基本属性,用来指挥解析引擎怎样去解析当前xml 通常一个xml都要 ...
- XML基本语法
本节要点: 了解XML的文档声明 了解XML的元素.命名规则.属性.元素内容.处理指令等概念 1 XML文档声明 表示该文档是一个XML文档,以及遵循哪个XML版本的规范. 规范:<?xml ...
- WSO2 ESB XML定义语法(3)
6.Property Mediator 通过Synapse调解的每条消息都可以具有一组关联的属性.Synapse引擎和底层传输在处理的每条消息上设置了许多属性,用户可以操纵这些属性来修改消息流的运行时 ...
随机推荐
- 一起写框架-Ioc内核容器的实现-基础功能-getBean(五)
实现的功能 1. 启动程序时,将@ComponentScan加载的类,创建对象并放在容器里面.(查看上一篇文) 2. 通过ApplicatoinContext的getBean()方法获得容器里面的对象 ...
- React 和 Angular 各有什么优缺点,各自又适合什么开发场景?
最近正在学习React,便谈一点自己的浅见. Angular.js首先Angular的背后是Google,所以社区基础是不用担心的,整个生态也已经是非常的完整了,从最基本的Tutorial到Stack ...
- Varnish 实战项目
实现基于Keepalived+Haproxy+Varnish+LNMP企业级架构 原理:缓存,又称加速器,用于加速运行速度较快的设备与较慢设备之间的通信.基于程序的运行具有局部性特征其能实现加速的功能 ...
- [转载] redis 的两种持久化方式及原理
转载自http://www.m690.com/archives/371 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串 ...
- MySQL 2006 超时
http://ronaldbradford.com/blog/sqlstatehy000-general-error-2006-mysql-server-has-gone-away-2013-01-0 ...
- 【O】VSS 2005上传PDF文件之后,打开提示文件损坏或者内容为空
问题: VSS 2005上传PDF文件之后,打开提示文件损坏或者内容为空: 解决方式: 在vss的客户端的tools-option中,file type选项卡里,在binary file文本框中,加入 ...
- Drools文档(六) 用户手册
用户手册 基础 无状态的知识Session Drools规则引擎拥有大量的用例和功能,我们要如何开始?你无须担心,这些复杂性是分层的,你可以用简单的用例来逐步入门. 无状态Session,无须使用推理 ...
- 六、VueJs 填坑日记之初识*.Vue文件
上一篇博文中,我们将接口的地址通过webpack代理到了本地,解决了跨域的问题.在之前的文章中,我们一直对项目进行配置,并没有真正的切入正题,可能很多人还不明白我们要做什么?那么今天,我们就要开写代码 ...
- 在azure中建立DDC集群
在Azure上建立DDC集群 建立3台虚拟机作为UCP集群,3台虚拟机作为DTR集群. 资源组:HYD-DockerDateCenter 虚拟机size:DS3 4核14G 系统:ubuntu14.0 ...
- ubuntu指令记录
记录一些指令,便于查看使用. 1.sudo -以其他身份运行命令,预设身份为root. 2.ctrl+alt+T打开终端(命令行窗口) 3.如何判断linux系统是32位还是64位,指令:getcon ...