切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
XML
XML学概述
XML学概述
2020-05-31
XML
前端之家
前端之家
收集整理的这篇文章主要介绍了
XML学概述
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
1.xml概述 1.1xml:xml一种数据存储格式,这种数据存储格式在存储数据
内容
的同时,还能够保存数据之间的关系 1.2xml保存数据的
方法
:xml利用
标签
来保存数据的
内容
,利用
标签
之间的嵌套关系来保存数据之间的关系。 1.3xml的应用场景: 1.3.1利用xml跨平台的特性,用来在不同的操作系统不同的开发语言之间传输数据。如果说java是一门跨平台的语言,那xml就是跨平台的数据。 1.3.2利用xml可以保存具有关系的数据的特性,还常常被用来做为
配置文件
使用。, 1.4xml
文件
:把xml格式的数据保存到
文件
中,这样的
文件
通常起后缀名为.xml,这样的
文件
就叫做xml
文件
,xml
文件
是xml数据最常见的存在形式,但是,这不是xml的唯一存在形式(在内存中或在网络中也可以存在),不要把xml狭隘的理解成xml
文件
。 1.5xml校验:浏览器除了内置html解析引擎外还内置了xml解析器,利用浏览器打开xml格式的数据,就可以进行xml校验。 2.xml语法 2.1文档声明:一个格式良好的xml必须包含也只能包含一个文档声明,并且文档声明必须出现在xml文档第一行,其前不能有其他任何
内容
。 2.1.1最简单的写法:<?xml version="1.0" ?>其中的version代表当前xml所遵循的规范版本。 2.1.2使用encoding
属性
指定文档所使用的字符集编码:<?xml version="1.0" encoding="gb2312" ?> 注意:encoding
属性
指定的编码集和xml真正使用的编码应该一致,如果不一致就会有乱码问题。 encoding
属性
默认值为老外喜欢的iso8859-1 2.1.3使用standalone
属性
指定当前xml文档是否是一个独立文档:<?xml version="1.0" standalone="no" ?>,standalone默认值为yes表示是一个独立文档。 注意:很多的解析器会忽略这个
属性
,但是学习知识要按标准去学,所以这个
属性
也要掌握。 2.2元素 2.2.1元素分为开始
标签
和结束
标签
,在开始
标签
和结束
标签
之间的文本称为
标签
体,如果一个
标签
即不含
标签
体也不包含其他
标签
,那这样的
标签
可以把开始
标签
和结束
标签
进行合并,这样的
标签
叫自闭
标签
。 <a>xxxxx</a> <a/> 2.2.2一个元素也可以包含若干子元素,但是要注意所有的
标签
都要进行合理嵌套。 2.2.3一个格式良好的xml文档应该具有并且只能有一个跟
标签
,其他
标签
都应该是这个跟
标签
的子孙
标签
。 2.2.4元素的命名规范: 区分大小写,例如,<P>和<p>是两个不同的
标记
。 不能以数字或
标点符号
或"_"开头。 不能以xml(或XML、或Xml 等)开头。 不能包含空格。
名称
中间不能包含冒号(:) 2.3
属性
一个元素可以包含多个
属性
,
属性
的值要用单引号或双引号括起来。如果
属性
的之中包含双引号,就要用单引号了。
属性
的命名规范,参照元素的命名规范。 2.4注释 <!--这是一段注释--> 注意:注释不能出现在文档声明之前。实验:把注释写到文档声明之前,用ie打开是没问题,但是用chrome打开是报错的。这就看出来了不同的解析器有不同的处理,我们学习的时候还是按标准去学。 注释不能嵌套注释 2.5CDATA区、转义字符 都可以用来转义特殊字符。 2.5.1CDATA区<![CDATA[这是要转义的
内容
]]> 被CDATA区扩起来的
内容
,将会被浏览器当作文本来处理。 2.5.2转义字符 & --> & < --> < >--> > " --> " ' --> ' 2.5.3CDATA区和转义字符的区别 (1)CDATA区可以成段的进行转义,而转义字符一次只能转义一个字符 (2)CDATA区转义的字符可以保存数据本来的格式只是
通知
解析器按文本去处理。转义字符改变了数据本身的
内容
,利用其他字符替代了转义字符。请思考,如果要转义的
内容
是一段js程序的话,如果用转义字符合适不合适? 2.6处理指令:一段指令
通知
解析器以何种方式解析xml <?xml-stylesheet type="text/css" href="1.css" ?>指定解析器使用1.css去渲染当前的xml数据 其实文档声明就是一个最常见的处理指令。 3.DTD技术 3.1DTD是一门xml约束技术,用来约束xml写法。 3.2如何在xml中引入一个DTD 3.2.1外部引入:dtd约束
文件
存在在一个外部
文件
中,我们在xml中引入该约束。 (1)本地
文件
引入:该dtd
文件
存在在本地硬盘中 <!DOCTYPE 根元素的
名称
SYSTEM "
文件
所在的路径"> (2)公共位置
文件
引入:dtd约束
文件
存在在一个公共网络上,我们在xml引入该约束 <!DOCTYPE 根元素的
名称
PUBLIC "dtd
名称
" "dtd所在的URL"> 3.2.2在xml内部写dtd约束 在文档声明下<!DOCTYPE 根元素
名称
[dtd约束的
内容
]> 3.3利用dtd约束xml中的元素 <!ELEMENT 元素
名称
元素约束> 3.3.1元素约束 (1)存放类型 ANY:当前声明的元素可以包含任意子元素 EMPTY:当前声明的元素不能包含任何元素 (2)存放
内容
:利用小括号括起来的元素的
名称
,用来表示该元素中可以存放哪些
内容
<!ELEMENT "元素名" (可以包含的元素的
名称
)> 小括号中的
内容
,可以有多个子元素的
名称
如果用“,”分割这些子元素就表明这些子元素必须按指定的顺序出现 如果用“|”分割这些
内容
就表明这些子元素只能出现其中之一 使用“+”来表明
内容
可以出现一次或多次 使用“*”来表明
内容
可以出现零次或多次 使用“?”来表明
内容
可以出现零次或一次 #PCDATA表明该元素可以包含
标签
体 可以利用()进行组操作: <!ELEMENT MYFILE ((TITLE*,AUTHOR?,EMAIL)* | COMMENT)> 3.4利用dtd约束xml中的
属性
<!ATTLIST 元素名
属性
名
属性
类型
属性
约束 。。。。> 3.4.1
属性
类型 (1)CDATA:表明该
属性
的值是一个普通的文本值。 (2)ENUMERATED:表明该
属性
的值只能取指定范围内的其中之一 (3)ID:表明该
属性
值在整个文档中必须唯一,注意ID类型的
属性
的值必须以字母下划线开头,并且不能以数字开头,不能包含空白字符 3.4.2
属性
约束 (1)#
required
来表明当前这个
属性
是必须存在的
属性
(2)#IMPLIED 来表明当前这个
属性
是可选的
属性
(3)#FIXED "固定值" 来表明当前这个
属性
具有一个默认的值,可以不明确指定该
属性
,解析器会帮你
加上
,如果你硬是指定了一个其他的值,会出错。 (4)"默认值" 来表明当前
属性
具有一个默认的值,如果给这个
属性
指定一个值就用指定的值,如果不指定呢,就使用默认值。 3.5实体:可以理解为对一段
内容
的引用,如果有一段
内容
到处在被使用,可以将其设计为一个实体 3.5.1引用实体:用在xml中的实体 声明实体:<!ENTITY 实体
名称
"实体
内容
"> 引用引用实体:&实体
名称
; 3.5.2参数实体:用在DTD
文件
中的实体 声明实体:<!ENTITY % 实体
名称
"实体
内容
"> 引用参数实体: %实体
名称
;
上一篇:XStream配置XML节点既有属性又有内
下一篇:如何加载指定路径的Logback.xml
猜你在找的XML相关文章
10分钟掌握XML、JSON及其解析
引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满足人的生产生活需要而...
作者:前端之家 时间:2020-08-12
[CXF REST标准实战系列] 一、JAXB xml与javaBean的转换
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere...
作者:前端之家 时间:2020-08-12
[CXF REST标准实战系列] 一、JAXB xml与javaBean的转换
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析
http://blog.jobbole.com/79252/ 引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技...
作者:前端之家 时间:2020-08-12
自定义圆形控件RoundImageView并认识一下attr.xml
(点击上方公众号,可快速关注) 公众号:smart_android 作者:耿广龙|loonggg 点击“阅读原...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析
引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满足人的生产生活需要而...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析(上)
(点击上方公众号,可快速关注) 来源: Long Luo 的博客 链接:http://longluo.github.i...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析(中)
接上文 二、JSON XML很好很强大,但是最近有另外一个时代弄潮儿,这就是JSON。现在JSON的光...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析(下)
接上文 2.4 如何解析JSON? Android JSON所有相关类,都在org.json包下。 包括JSONObject、...
作者:前端之家 时间:2020-08-12
10分钟掌握XML、JSON及其解析
原文出处: Long Luo 的博客(@Long_Luo) 引言 NOKIA 有句著名的广告语:“科技以人...
作者:前端之家 时间:2020-08-12
编程分类
HTML
HTML5
JavaScript
CSS
jQuery
Bootstrap
Angularjs
TypeScript
Vue
Dojo
Json
Electron
Node.js
extjs
Express
XML
ES6
Ajax
Flash
Unity
React
Flex
Ant Design
Web前端
微信小程序
微信公众号
最新文章
• 10分钟掌握XML、JSON及其解
• [CXF REST标准实战系列] 一
• [CXF REST标准实战系列] 一
• 10分钟掌握XML、JSON及其解
• 自定义圆形控件RoundImage
• 【XML】
• 10分钟掌握XML、JSON及其解
• 10分钟掌握XML、JSON及其解
• 10分钟掌握XML、JSON及其解
• 10分钟掌握XML、JSON及其解
热门标签
更多 ►
关闭广告
单独headers
封装代码
提示错误
整数正则
非0开头
跳页
出页码
antd table
提示URL未注册
公众号支付
vue hash模式
iSlider
车牌键盘
循环图片
echarts 双折
左右布局
DllPlugin
对象创建
打字游戏
圈选
两栏
云函数
蒙版
ES2020
橱窗
无缝滚动轮播
色块碰撞
组件销毁
文档操作