前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识XML

初识XML

原创
作者头像
会洗碗的CV工程师
发布2024-06-28 21:38:45
680
发布2024-06-28 21:38:45
举报
文章被收录于专栏:XMLXML

XML

XML概述

概念

XML(Extensible Markup Language):可扩展标记语言

可扩展:标签都是自定义的。

发展历程

HTML和XML都是W3C(万维网联盟)制定的标准,最开始HTML的语法过于松散,于是W3C制定了更严格的XML语法标准,希望能取代HTML。但是程序员和浏览器厂商并不喜欢使用XML,于是现在的XML更多的用于配置文件及传输数据等功能。

是谁造成的HTML语法松散?

浏览器厂商。最开始W3C制定HTML的时候语法还是比较严格的。但浏览器厂商为了抢占市场,语法错误也可以解析成功HTML,最后“内卷”到HTML即使语法非常混乱也是可以被浏览器解析。

tips:归根到底是语法的制定者使用者不一致造成了HTML语法混乱,JAVA语法严格就是因为java语言的运行工具java虚拟机也是sun公司(现在是oracle)出品的,语法不通过不让运行。

为什么程序员不使用XML写前端页面?

因为程序员松散惯了,不想写很严格的代码。同样挣一万块钱,谁会从每月上一天班的公司跳槽到996的公司呢?

XML的功能

配置文件:在今后的开发过程当中我们会频繁使用框架(框架:半成品软件),使用框架时,需要写配置文件配置相关的参数,让框架满足我们的开发需求。而我们写的配置文件中就有一种文件类型是XML。

日后编写大型项目,不可能从头到尾都是原创代码,很多功能前人已经写好,我们只需要使用前人写好的半成品软件(框架),再加入一些符合我们需求的配置即可完成开发。

比如我们组装一台电脑,不可能自己焊接电路板。而是先买入一块主板,这块主板就是半成品软件。根据自己的需求加入一些配置,比如要求流畅运行吃鸡,就需要配置i7处理器、泰坦显卡。

传输数据:在网络中传输数据时并不能传输java对象,所以我们需要将JAVA对象转成字符串传输,其中一种方式就是将对象转为XML类型的字符串。

比如携程等旅游网站可以买火车票,但他们其实也是替12306卖票,此时他们就需要拿到12306的票务数据。JAVA对象不能在网络上传输,可以转为XML类型的字符串。

XML和HTML的区别

XML语法严格,HTML语法松散

XML标签自定义,HTML标签预定义

XML基本语法(demo.xml)

  1. · 文件后缀名是.xml
  2. · 第一行必须是文档声明
  3. · 有且仅有一个根标签
  4. · 标签必须正确关闭
  5. · 标签名区分大小写
  6. · 属性值必须用引号(单双都可)引起来

XML组成部分(demo.xml)

文档声明

文档声明必须放在第一行,格式为:

<?xml 属性列表 ?>

属性列表:

· version:版本号(必须)

· encoding:编码方式

标签

XML中标签名是自定义的,标签名有以下要求:

· 包含数字、字母、其他字符

· 不能以数字和标点符号开头,可以以_开头

· 不能包含空格

指令(了解)

指令是结合css使用的,但现在XML一般不结合CSS,语法为:

<?xml-stylesheet type="text/css" href="a.css" ?>

属性

属性值必须用引号(单双都可)引起来

文本

如果想原样展示文本,需要设置CDATA区,格式为:

<![CDATA[文本]]>

约束_DTD约束 (dtd package)(student.dtd)(student.xml)

虽然XML标签是自定义的。但是作为配置文件时,也需要遵循一定的规则。就比如在主板上硬盘口只能插硬盘,不能插入其他硬件。约束就是定义XML书写规则的文件,约束我们按照框架的要求编写配置文件。

我们作为框架的使用者,不需要会写约束文件,只要能够在xml中引入约束文档,简单的读懂约束文档即可。XML有两种约束文件类型:DTD和Schema。

DTD是一种较简单的约束技术,引入方式如下

本地引入:

<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">

网络引入:

<!DOCTYPE 根标签名 PUBLIC "dtd文件的位置" "dtd文件路径">

实时效果反馈

1. XML约束类型有

A DTD约束

B Schema约束

C 以上都包括

约束_Schema约束(xsd package)(student.xml)(student.xsd)

Schema比DTD对XML的约束更加详细,引入方式如下:

写xml文档的根标签

引入xsi前缀:确定Schema文件的版本。

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

引入Schema文件

xsi:schemaLocation="Schema文件定义的命名空间 Schema文件的具体路径"

为Schema约束的标签声明前缀

xmlns:前缀="Schema文件定义的命名空间"

例如:

代码语言:xml
复制
<students
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.itbaizhan.cn/xml student.xsd"
 xmlns="http://www.itbaizhan.cn/xml">

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • XML
  • XML概述
    • 概念
      • 发展历程
        • XML的功能
          • XML和HTML的区别
          • XML基本语法(demo.xml)
          • XML组成部分(demo.xml)
            • 文档声明
              • 标签
                • 指令(了解)
                  • 属性
                    • 文本
                    • 约束_DTD约束 (dtd package)(student.dtd)(student.xml)
                    • 约束_Schema约束(xsd package)(student.xml)(student.xsd)
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档