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元素,身份证肯定是唯一的,如果没有约束,身份证号重复了怎么办


相关推荐
华科易迅8 小时前
Spring XML事务控制
xml·数据库·spring
C++ 老炮儿的技术栈9 小时前
c++常见配置文件格式 JSON、INI、XML、YAML 它们如何解析
xml·开发语言·c++·windows·qt·json
华科易迅1 天前
Spring AOP(XML最终+环绕通知)
xml·java·spring
莫爷1 天前
JSON vs XML vs YAML 深度对比:如何选择合适的数据格式?
xml·前端·json
华科易迅1 天前
Spring AOP(XML后置+异常通知)
xml·java·spring
Predestination王瀞潞2 天前
6.3.1 软件->W3C XPath 1.0 标准(W3C Recommendation):XPath(XML Path Language)查询语言
xml·数据库·oracle
萝卜白菜。2 天前
TongWeb7.0配置tongweb-web.xml修改jsessionid名及其值的长度
xml·前端·word
ChoSeitaku3 天前
NO.4|protobuf网络版通讯录|httplib|JSON、XML、ProtoBuf对比
xml·json
弹简特4 天前
【JavaEE19-后端部分】 MyBatis 入门第三篇:使用XML完成增删改查
xml·mybatis
spencer_tseng4 天前
Tomcat server.xml <Connector> address=“0.0.0.0“
xml·tomcat