XML文档篇

XML之XML文档篇

2019年12月16日,阴,星期一

今天就要开始复习XML啦,为了下周一的期末考做准备!冲冲冲!!!

用书《XML基础及实验开发教程》第2版,主编:唐琳,刘彩虹,副主编:肖大薇,张坤,清华大学出版社

XML是什么?

XML(eXtensible Markup Language),一种可扩展标记语言。它提供了一套跨平台,跨网络,跨程序语言的数据描述方式。是一个简单的、基于文本格式表示的结构化信息。

下面举一个xml文档模板(后缀为xml),例如:

<?xml version="1.0" encoding="UTF-8"?>
<!--上面的是文档声明-->
<!--文档主体---个人信息-->
<个人信息>
	<姓名>李四</姓名>
	<生日>2011-02-14</生日>
	<性别></性别>
</个人信息>

如上所示,这个XML文档分成两个部分,一个是文档声明(第一行),另一个是文档内容

文档声明是一个XML文档必须的,必定位于第一行。其中有如上的文档声明包含了两部分,一是版本信息 XML1.版本 ,二是编码方式 UTF-8 编码。

文档内容不同情况有不同的内容,下面是写XML文档应遵循的基本语法规则。

  • 每一个标记都有开始和结束标签,开始标签以 “<" 开始,以 “>” 结束,结束标签以 “</” 开始,以 “>” 结束。
  • 开始标签中间的内容是元素名,大小写敏感,结束标签也是一样。但两个标签的元素名必须相同!
  • 一个XML文档必须只能只有一个根标签(最外层的标签),上例中的根标签为<个人信息>。

XML文档分成了三类,

  • 格式不良好的XML文档:没有遵循上述基本语法规范的XML文本。
  • 格式良好的XML文档:遵循基本语法规范的XML文本
  • 有效的XML文档:该XML文档是一个格式良好的XML文档,同时符合DTD1的定义和Schema2的规定。例子如下:
<?xml version="1.0" encoding="UTF-8"?>
<!--上面的是文档声明-->
<!--DTD定义-->
<!DOCTYPE 个人信息[
	<!ELEMENT 个人信息 (姓名,生日,性别)>
	<!ELEMENT 姓名 (#PCDATA)>
	<!ELEMENT 生日 (#PCDATA)>
	<!ELEMENT 性别 (#PCDATA)>
]>
<!--文档主体---个人信息-->
<个人信息>
	<姓名>李四</姓名>
	<生日>2011-02-14</生日>
	<性别></性别>
</个人信息>

XML的文档组成
XML文档在逻辑上主要由以下的5个部分组成:

  • XML声明
  • 文档类型声明
  • 处理指令
  • 注释
  • 元素

以下是包含5个部分的XML文档:

<?xml version="1.0" encoding = "UTF-8"?>
<!-- 上面的是声明,我是注释,-->
<!--接下来我要写一个DTD声明-->
<!DOCTYPE chain SYSTEM "mydtd.dtd">
<!--下面一行是处理指令-->
<?xml - stylesheet type="text/css" href = "myCss.css"?>
<!--下面一行是元素-->
<chain> 我的链</chain>

以下对于XML的5部分进行解释:

  1. XML声明:<?xml version = "1.0" encoding="UTF-8"?> XML总是以XML声明开始,必须位于文件的第一行。注意问号和尖括号之间不留空。
  2. 文档类型声明:<DOCTYPE chain SYSTEM "mydtd.dtd"> 该例子中使用了一个外部DTD文件,DTD代码里是对 chain 元素进行约束 (<?xml version="1.0" encoding ="UTF-8"?><!ELEMENT chain (#PCDATA)),也可以进行内部DTD引用<!DOCTYPE chain[ <!ELEMENT chain (#PCDATA)>]>
  3. 处理指令: <?xml - shylesheet type = "text/css" href="myCss.css" ?>,通知XML引擎,应用CSS文件 “myCss.css" 显示XML文档的内容。在XML文档里,有时会包含一些非XML格式的数据,XML处理器无法处理这些数据,此时通过处理指令通知其他应用程序来处理这些数据。常见为扩展名为css,xsl的文件。
  4. 注释:常"以<!--" 开头,以 ”-->"结尾,是一个XML文档中必不可少的一部分。注意不能出现在XML声明前。注意不能出现在标记中,即注释不能出现元素名那里。
  5. 元素:<chain>我的链</chain>在这个例子中的元素只有一个,同时也是根元素。

标签,属性,元素三者的区别

标签,是由<>包含的对象,分成开始标签和结束标签,标签包含有"/"的是结束标签,反之是开始标签。例如:<chain>就是一个标签。

元素<chain>我的链</chain>,才是一个元素。这个元素包含了开始标签+内容+结束标签。

属性,属性是元素名的一种特征,通常由 属性名=“属性值”构成,写在标签内部,元素名之后,与元素名由空格分开。例如:<chain position="1">我的链</chain>其中的position=“1”,则是属性。

接下来讲讲元素的详细形式
元素分成了两种形式,一种是空元素,一种是非空元素

空元素,指开始和结束标签之间没有任何东西,建议使用<chain />这样的单标签形式去书写,避免出错。双标签中不可以包含空格,也不可以包含换行符。

非空元素,指开始和结束标签之间包含其它的内容或者元素,或者两者都有不过不推荐。

元素的内容

1.字符数据:例如<chain>qazwsx</chain>,元素的内容就是“qazwsx”这样的一串字符串,但是在字符串中不可以有和号(&)和小于号(<),也不可以有字符串"]]>"。不然会报错。影响XML文档的良好格式。‘

2.字符引用和实体引用
这是针对和号小于号等符号的举措。以"&“开始,以”;"符号结束,中间为XML已经预定义好的字符引用,

  • 小于号(<)&lt;
  • 大于号(>)&gt;
  • 双引号 (") &quot;
  • 单引号 (‘) &apos;
  • 和号(&) &amp;

3 CDATA段
有时在XML文档里会包含java代码,此时使用CDATA段就不会频繁报错啦,避开了>,<,&,字符的报错。

<?xml version = "1.0" ?>
<java>
<![CDATA[
	if(a>b&&c>d)
		max = a ;
]]>
</java>

编辑不易,点赞助力!你的每一个点赞都会为我增添很多助力的!
祝自己下周一考好加油!!!也祝大家生活安康,每天幸福Max++!!!


  1. DTD (Document Type Definition),文档类型定义,用来对XML文档进行约束和定义,类似于制定规则,XML要去遵循。 ↩︎

  2. Schema ,如何形式描述XML文档的元素。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值