当前位置:网站首页>XML简介
XML简介
2022-08-02 08:22:00 【虽有嘉肴】
XML简介
1.什么是XML
xml可以用来写出html,我们对xml进行约束,让他的根元素为,再让元素有和。
<大家好>
<好什么好 />
</大家好>
版本是1.0
2.应用场景
*保存数据
3.xml的语法结构
- 文档声明
- 元素:
<a>xxx</a>
- 属性
- 实体
- CDATA段
- 处理指令
4.xml文档声明
以<?xml开头,以?>结束
- 有三个属性:
- version=“1.0”,必须的
- encoding,可选的,默认值为utf-8
- standalone,可选的,默认值yes,表示文件是独立的。
- 必须在xml文件的第0行第0列出现。
5.元素
普通结构:开始标签、元素体、结束标签,例如:
〈hello>
world
</hello>
空元素结构:开始标签,没有元素体和结束标签,例如:<hello/>
元素体内容可以是文本,也可以子元素!例如:
〈a>
<b>
<c>
hel1o
</c>
</b>
</a>
<xxx>
<yyy>
hel1o
</yyy>
</xxx>
不能出现错误嵌套:
<a>
<b>
</a>
</b>
6.属性
属性是元素的一部分,它只能出现在元素的开始标签中。
一个完素可以有0~N个属性,其中属性的结构:
属性名="属性值",其中属性值必须使用单引或双引
多个属性中间用逗号分隔
<student nunber="xxxx" nane="zhangSan" age="23"/>
<student nnumber="xx">
<nane>----</name>
</student>
7.注释
以 结束。其中的内容是不会被解析器读取的!
不能以“—>”结束。
8.转义字符和CDATA段
(1)转义字符
在 XML 中,一些字符拥有特殊的意义。
如果您把字符"<"
放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。
这样会产生 XML 错误:
常见特殊符号:< > ' " &
为了避免这个错误,请用实体引用来代替 “<” 字符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uFAnKUwv-1659398224083)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0fe94353771e40dc8f4223a238edb4b5~tplv-k3u1fbpfcp-watermark.image?)]
(2)CDATA段
XML 文档中的所有文本均会被解析器解析,只有 CDATA 区段中的文本会被解析器忽略。<![CDATA[]]>
<code>
<![CDATA[
String nane="he11o";
int a = 18;
if(a > 100 && a < 1000){
}
]]>
</code>
9.处理指令
告诉解析器如何解析xml文档
10.格式良好的xml(语法正确)
- XML 文档必须有根元素
- XML 文档必须有关闭标签
- XML 标签对大小写敏感
- XML 元素必须被正确的嵌套
- XML 属性必须加引号
11.DTD约束(文档类型定义)
DTD(文档类型定义)的作用是定义XML文档的合法构建模块。
DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。
在DTD中定义元素,定义属性,然后让xml与这个DTD关联,这时xml中只能出现在DTD中定义的元素了。
DTD分类
内部DTD和外部DTD,其中外部DTD又可以分为SYSTEM(本地的)的PUBLIC(网上的)
内部DTD
- 放到xml中,文档声明下,根元素上,以“<!DOCTYPE 根元素名称[开头,以]”结束
- 内部DTD只对当前×ml文件有效。
总结
概念:发展历史,定义,作用,应用等。
XML语法:既然是一门语言,肯定有其对应的语法,知道了语法才知道怎么去用,去写代码。
DTD: 限定已经说得很明白了,文档类型的定义。其实你翻开那一章的引言读一读就大体明白了,你可以自定义标签,但有必要对文档规范一下。
XSD:同样的,引言第一句是:“XML模式同DTD一样是负责定义和描述XML文档结构和内容模式的”。再看发现它列举了好多DTD的缺点,所以这个东西是用来优化取代DTD的。
CSS和XSL:学过HTML的都知道,CSS是用来给标签加样式的。在引言中也可以知道:“如果希望添加一些额外的显示信息,这项功能就由样式表来完成”。所以说这个东西可以将标签在浏览器中进行显示。
在认为完框架以后,可以用简单的逻辑将它们串联起来。首先要知道xml是什么东西,在哪使用(定义);要用到它的话,该怎样去写这个文件;如果你对xml文件有更高的约束,用DTD或者XSD来规范文档。最后如果你想把XML当HTML使唤,它也是支持的。
边栏推荐
- 轴流式水轮机隐私政策
- Biotin-C6-amine|N-biotinyl-1,6-hexanediamine|CAS: 65953-56-2
- 编程与哲学(2)——输出是为了更好的输入
- Technology Cloud Report: To realize the metaverse, NVIDIA starts from building an infrastructure platform
- ip地址那点事(二)
- Ansible learning summary (11) - detailed explanation of forks and serial parameters of task parallel execution
- A young man with strong blood and energy actually became a housekeeper. How did he successfully turn around and change careers?
- R language plotly visualization: use the plotly visualization model to predict the true positive rate (True positive) TPR and false positive rate (False positive) FPR curve under different thresholds
- Qt读取文件中内容(通过判断GBK UTF-8格式进行读取显示)
- Write a small game in C (three chess)
猜你喜欢
Business Intelligence Platform BI Business Intelligence Analysis Platform How to Choose the Right Business Intelligence Platform BI
openpyxl 单元格合并
【开源项目】X-TRACK源码分析
pycharm的基本使用教程(1)
(Note) AXIS ACASIS DT-3608 Dual-bay Hard Disk Array Box RAID Setting
PyCharm使用教程(较详细,图+文)
etcd实现大规模服务治理应用实战
RetinaFace: Single-stage Dense Face Localisation in the Wild
Stop mental exhaustion Daily sharing
PyQt5(一) PyQt5安装及配置,从文件夹读取图片并显示,模拟生成素描图像
随机推荐
王学岗-编译出运行的文件
next permutation
Write a small game in C (three chess)
Axial Turbine Privacy Policy
【特别提醒】订阅此专栏的用户请先阅读本文再决定是否需要购买此专栏
近期在SLAM建图和定位方面的进展
JSP页面中page指令有哪些属性及方法可使用呢?
prometheus监控mysql_galera集群
C语言基础_共用体
mysql 中 in 的用法
【C】关于柔性数组.简要的谈谈柔性数组
How Engineers Treat Open Source --- A veteran engineer's heartfelt words
IO process thread -> process -> day4
Three types of [OC learning notes] Block
如何做好项目管理
PyQt5(一) PyQt5安装及配置,从文件夹读取图片并显示,模拟生成素描图像
Wang Xuegang - compiled shipment line file
UVM事务级建模
day——05 迭代器,生成器
(Note)阿克西斯ACASIS DT-3608双盘位硬盘阵列盒RAID设置