XML概述

什么是xml?

<?xml version="1.0" encoding="UTF-8"?>
<!-- XML文件中必须具有根标签包裹-->
<catalog>
    <book id="bk101">
        <author>张伟</author>
        <title>XML 开发指南</title>
        <genre>计算机</genre>
        <price>99.00</price>
        <pub_date>2023-05-01</pub_date>
        <description>深入探讨如何使用 XML 创建应用程序。</description>
    </book>
    <book id="bk102">
        <author>李娜</author>
        <title>午夜雨</title>
        <genre>幻想</genre>
        <price>45.50</price>
        <pub_date>2023-07-20</pub_date>
        <description>一个前建筑师在寻找魔法神器的过程中与巫师作斗争。</description>
    </book>
    <book id="bk103">
        <author>王芳</author>
        <title>梅芙的崛起</title>
        <genre>幻想</genre>
        <price>39.99</price>
        <pub_date>2023-06-15</pub_date>
        <description>罗马帝国崩溃后,曾经伟大的战士梅芙领导新的军队。</description>
    </book>
    <book id="bk104">
        <author>王芳</author>
        <title>奥伯龙的遗产</title>
        <genre>幻想</genre>
        <price>42.00</price>
        <pub_date>2023-08-10</pub_date>
        <description>《梅芙的崛起》的续集。</description>
    </book>
    <book id="bk105">
        <author>李娜</author>
        <title>被遗忘的圣杯</title>
        <genre>幻想</genre>
        <price>55.00</price>
        <pub_date>2023-09-01</pub_date>
        <description>寻找可以改变世界的传奇神器的冒险故事。</description>
    </book>
</catalog>

这是一段xml代码

  • XML指的是可扩展性标记语言
  • XML被发明的目的是传输和存储数据而不是展示数据
  • XML的标签必须自定义,但是标签名必须见名知意
  • XML是W3C推举的数据传输格式
  • 规范了数据使数据易读易处理

XML的主要用途

  • 数据传输
  • 程序之间的数据通信
  • 配置文件

XML和HTML的区别

  • HTML标签不能自定义,XML标签只能自定义
  • HTML语法要求不严格,XML语法要求非常严格必须是成对标签
  • HTML用来展示数据,XML用来传输和存储数据

语法规则

  • XML必须有根结点,根节点就是其他节点的父级结点
  • 标签必须成对存在
<name></name>
  • 标签名大小写敏感
 <Name></name>
  • 标签不能交叉编写
<name>"张三"<sex>"男"</name></sex>
  • 特殊字符需要使用实体:
    在这里插入图片描述

  • <![CDATA[...]]>中的内容不解析
<root>
	<code>代码测试</code>
	<msg><![CDATA[这里的代码不解析 ]]></msg>
</root>
  • 一个标签可以有一个或多个属性,属性值必须使用引号括起来,属性值就是表示标签自身一些额外的信息
<people>
	<student>
		<name>zhangsan</name>
		<age>23</age>
	</student>
	<student>
		<name age="22">lisi</name>
	</student>
</people>

DTD约束

什么是DTD?

W3school文档
文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。

DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

<?xml version="1.0" encoding="UTF-8"?>
<!-- 直接在xml内部定义DTD约束-->
<!DOCTYPE students[
	<!--约束根元素中包含哪些元素-->
	<!ELEMENT students (student+)>
	<!--约束一级子元素中包含哪些二级元素-->
	<!ELEMENT student (name,age?,sex,hobbys?)>
	<!--约束二级元素hobby中包含哪些三级元素-->
	<!ELEMENT hobbys (hobby+)>
	<!--约束具体二级元素-->
	<!-- <!ELEMENT name (子元素/元素类型)> -->
	<!-- 只有 PCDATA 的元素通过圆括号中的 #PCDATA 进行声明-->
	<!ELEMENT name (#PCDATA)>
	<!ELEMENT age (#PCDATA)>
	<!ELEMENT sex (#PCDATA)>
	<!--约束student元素中的属性-->
	<!-- <!ATTLIST 元素名称 属性名称 属性类型 默认值>-->
	<!ATTLIST student id ID #REQUIRED>
]>

属性类型选项
在这里插入图片描述
设置默认参数值
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值