XML 使用、命令空间、约束、解析

本文详细介绍了XML的基础知识,包括XML的作用、元素、属性、实体、CDATA、命名空间、约束(如DTD)以及解析方式,如DOM和SAX解析。此外,还提到了XML在数据传输、配置文件和持久化数据中的应用。
摘要由CSDN通过智能技术生成

1 XML 初识

1.1

XML(EXtensible Markup Language) ,可拓展标记语言

  • 标记,指的是标记语言,也称标签语言,可以用一系列的标签来对数据进行描述。
    例如 <age>19</age>
  • 拓展,指的是用户可以自定义标签

1.2 为啥要学习XML (XML的作用)

  1. XML可以作为数据传输的标准
    作为数据的一种传输标准,要考虑可读性、可扩展性、可维护性,并且最好是和语言无关。XML作为传输数据的标准就比较适合,在上述方面表现都很好。
  2. XML可以作为配置文件
    很多软件和框架,都会提供XML文件配置的方式,以便可以方便快捷的修改软件或框架的功能。
  3. XML可以持久化数据
  4. XML 简化平台变更

1.3元素

元素,指的就是XML中的标记,这种标记也被称为标签、节点。一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:

  • 不能以数字或部分标点符号开头
  • 不能包含空格和特定的几个符号
  • 标签必须成对出现,不允许缺省结束标签
  • 根元素有且只有一个
  • 大小写敏感
  • 允许多层嵌套但是不允许交叉嵌套

XML 必须包含根元素

根元素有且只能有一个,它是所有其他元素的父元素。

 <?xml version="1.0" encoding="utf-8"?>
 <root>
 	<name>
 	</name>
 </root>

<root>就是根节点

注意!:

  • XML 标签对大小写敏感
  • XML标签允许 嵌套 但是不允许 交叉

1.4 属性

XML属性(Attribute)提供了元素相关的一些额外信息

属性必须加引号 可以单引也可以双引
<name id="1">tom</name>
<name id='2'>lilei</name>
且一个元素可以拥有多个属性
<name id="1" age="21" desc="boy">tom</name>

1.5实体

实体 字符 简介
& lt; < Less than
& gt; > Greather than
& amp; & mpersand
& apos; Apostrophe
& quot; " Quotation mark

自定义实体
<!DOCTYPE root[<!ENTITY CSDN "专业it技术社区- 专业开发者社区 ">]>

注释
<!-- 注释内容 -->

1.6 CDATA

XML 解析器,会解析 XML 文档中所有的文本。
在xml中

  • 解析器进行解析的内容,称为PCDATA(Parsed CDATA)
  • 解析器不会解析的内容,称为CDATA,(Character Data)
    <![1 CDATA[&amp;]]>
    浏览器就会原样输出 &amp 而不是被解析之后的实体 &

2 CSS

2.1 css

CSS(Cascading Style Sheets) 层叠样式表,通常用来给HTML中内容、或者XML中内容进行样式的渲染,这里需要先简单的使用一下,配合XML来渲染需要显示的内容。

name{
   
font-size:30px;
font-weight:bold;
color:red;
}
age{
   
font-size:30px;
font-weight:bold;
color:green;
}

2.2指令

处理指令,简称PI (processing instruction),可以用来指定解析器如何解析XML文档内容。
在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,使用test.css文件来渲染xml内容。最后内容被渲染的效果:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="test.css" type="text/css"?>
<class>
	<student id="001">
		<name>张三</name>
		<age>20</age>
	</student>
	<student id="002">
		<name>李四</name>
		<age>20</age>
	</student>
</class>

最后内容被渲染的效果:
在这里插入图片描述


3 XML命名空间

前缀: x:

<?xml version="1.0" encoding="utf-8"?>
<x:table>
	<tr>
		<td>hello</td>
		<td>world</td>
	</tr>
</x:table>

还可以进一步,声明这个前缀是属于哪个命名空间:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值