XML—标记语言

什么是XML?

Extensible Markup Language,可扩展标记语言。

那标记语言是什么?

用文字做标记表达一些效果或携带一些数据。比如:HTML、XML

我的理解:用倾盆大雨表达雨很大

那XML为什么说是可扩展的呢?

还要从它的产生说起。

XML怎么产生的?

HTML是一种界面技术,定义了70多种标记为了方便在计算机上实现,这些标记也都是固定的,所以不可扩展。随着Web应用的不断发展,HTML的局限性也越来越明显地显现了出来,如HTML无法描述数据、可读性差、搜索时间长等。衍生出了XML,可扩展,不兼容系统之间数据传输方便

XML有什么作用(能帮助我们什么)?

  • 标记都是自定义的;
  • 包含和传输数据
  • 用于交换数据,数据共享。不兼容系统之间交换数据最耗时间,把数据转换成XML格式存储将大大减少交换数据时的复杂性,还可以使这些数据能被不同的程序读取。
  • 数据存储简单。XML数据以纯文本格式进行存储,独立;

XML应用在哪些地方?

  • 做为系统的配置文件

Spring中applicationContext.xml

Hibemate中的hiberante.cfg.xml

Struts2中的struts.xml

log4j中的log4j.xml

Web应用中的web.xml

Tomcat中的server.xml

  • Ajax中传输数据
  • Web Services中传输数据
  • 异构平台的数据交换与整合

那HTML和XML有哪些差异?

|------------|----------|---------------------|
| | HTML | XML |
| 作用 | 显示数据 | 传输和存储数据 |
| 标记 | 固定 | 不固定 |
| 空格 | 多个时只显示一个 | 输入几个显示几个 |
| 语法 | 无右述要求 | 要求嵌套、配对,并遵循DTD的树形结构 |
| 与数据库关系 | 无直接联系 | 与关系型和层状数据库均可对应和转换 |
| 大小写 | 不区分 | 区分 |

XML和HTML之间有联系吗?是怎4么建立联系的?


结构

树结构。从"根部"开始(必须包含根元素),扩展到"枝叶"

内容必须包含在一个单一元素中。这个单一元素称为根元素,它包含文档中所有文本和所有其他元素

格式良好的XML

格式良好(Well-formed)。

什么叫格式良好?

就是放浏览器不报错,正常显示

通过DTD验证的XML是"合法"的XML

会遵循一下语法规则:文件必须有根元素

文件必须有关闭标签

属性值必须加引号

大小写敏感

元素必须呗正确嵌套

语法规则

①、声明

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

version:XML的版本

encoding:XML文件使用的字符编码方法(UTF-8 : 万国码, 可显示各种语言)

②、标签

< >:开始结束标签,所有元素都必须有关闭标签

③、实体引用

为了避免把字符数据和标签中需要用到的一些特殊符号(< > "等等)相混淆,XML还提供了实体引用。

④、注释

<!-- This is a comment -->


约束

有两个:DTD、Schema

为什么要使用约束?

  • 防止代码写错
  • 编写代码有提示(就不是胡乱一通的写,有规范)

比方说有个id元素,身份证肯定是唯一的,如果没有约束,身份证号重复了怎么办


相关推荐
itachi-uchiha17 小时前
awk处理xml文件&&封装集合变量和调用
xml·shell·awk
武子康3 天前
Java-39 深入浅出 Spring - AOP切面增强 核心概念 通知类型 XML+注解方式 附代码
xml·java·大数据·开发语言·后端·spring
Ll13045252985 天前
基于 COM 的 XML 解析技术(MSXML) 的总结
xml
在代码的海洋中寻找亚特兰蒂斯5 天前
AJAX对于XML和JSON的处理
xml·ajax·json
BinField7 天前
ToolsSet之:XML工具
xml·windows·microsoft
SEO-狼术7 天前
Connect Directly to Oracle XML Data
xml·数据库·oracle
YSoup7 天前
2025年目前最新版本Android Studio自定义xml预览的屏幕分辨率
android·xml·android studio
abcnull8 天前
mybatis的mapper对应的xml写法
xml·sql·spring·mybatis·mapper
Blue桃之夭夭8 天前
HTML、XML、JSON 是什么?有什么区别?又是做什么的?
xml·html·json
小于村8 天前
pom.xml 文件中配置你项目中的外部 jar 包打包方式
xml·java·jar