XML基础知识讲解

news2024/9/19 10:50:39

文章目录

  • 1. xml简介
  • 2. xml快速入门
  • 3. xml的元素(标签)定义
  • 4. xml标签的命名规范
  • 5. xml的属性定义和注释
  • 6. 转义字符
  • 7. CDATA区
  • 8. xml的处理指令
  • 9. xml的约束

在这里插入图片描述

1. xml简介

XML(eXtensible Markup Language)是一种用于描述数据的标记语。

它以纯文本的方式存储数据,并使用标签来标记数据的结构和含义。XML被设计用于传输和存储数据,同时也可作为配置文件和数据交换的格式

2. xml快速入门

创建一个xml文档,必须要有文档说明且必须放在第一行

<?xml version="1.0" encoding="UTF-8" ?>
  • version(必须要有): 表示xml的版本(1.0和1.1)

    • 注: 1.1不会向下兼容,一般都是1.0
  • encoding(可选): 表示xml的编码格式,例如:UTF8,GBK等

xml使用示例:

<?xml version="1.0" encoding="UTF-8" ?>
<root>
    <person>111</person>
</root>

对于xml文档,可以使用浏览器打开

在这里插入图片描述

3. xml的元素(标签)定义

  1. xml文档中只能有一个根标签

  2. 用户可自定义标签,例如:<person></person>

    • 结束标签比开始标签多了一个 /
  3. 标签的定义有开始必须要有结束

  4. 标签必须是合理嵌套

4. xml标签的命名规范

  1. 标签区分大小写
  2. 标签不能以数字或者下划线开头
  3. 不能以xml等关键字开头
  4. 不能包含空格
  5. 名称中间不能有:

注: xml在解析时会把空格和换行都当成内容来处理

5. xml的属性定义和注释

属性定义:

  • 每个标签可以有多个属性,但是属性不能相同
  • 属性和属性之间要使用引号(单引号或双引号)
  • 属性名称的命名规范和元素名称的命名规范相同

示例:
在这里插入图片描述

注释:

<!-- 注释内容   -->

注释不能嵌套

6. 转义字符

在XML中,有几个特殊字符被认为是保留字符,不能直接在文本中使用,而是需要使用转义字符来表示。

以下是XML中常见的转义字符:

  • &lt; - 表示小于号 <
  • &gt; - 表示大于号 >
  • &amp; - 表示和符号 &
  • &quot; - 表示双引号 "
  • &apos; - 表示单引号 '

示例:
在这里插入图片描述

7. CDATA区

CDATA(Character Data)区是XML中的一个特殊区域,用于包含文本数据,其中可以包含任何字符,包括XML保留字符和特殊字符,而不需要进行转义。

CDATA区是由<![CDATA[开始,以]]>结束。

    <![CDATA[

    ]]>

CDATA区中的内容将被视为纯文本,不会被解析为XML标记。CDATA区常用于包含包含特殊字符或大量文本的数据,以避免不必要的转义。

示例:

在这里插入图片描述

8. xml的处理指令

XML中,处理指令是用来指导XML解析器或其他处理工具对XML文档进行处理的指令。它们以<?开始,以?>结束,并位于XML文档的开头。

常见的XML处理指令包括:

  1. XML声明:<?xml version="1.0" encoding="UTF-8"?>。这是XML文档的第一个处理指令,用于指定XML版本和字符编码。
  2. 样式表处理指令:<?xml-stylesheet type="text/xsl" href="style.xsl"?>。用于引用XSL样式表,用于对XML文档进行转换和呈现。
  3. 实体处理指令:<!ENTITY name "value">。用于定义实体,可以在XML文档中引用并展开为对应的值。
  4. 命名空间处理指令:xmlns:prefix="namespace"。用于定义命名空间和命名空间前缀,以在XML文档中标识元素和属性的命名空间。

这些处理指令可以向XML解析器提供关于XML文档的附加信息,或者指示如何处理XML文档。处理指令通常出现在XML文档的开头,但不是必需的。

9. xml的约束

xml的约束就是指xml中可以出现哪些元素以及不能出现哪些元素

常见的两种约束:

  1. DTD
  2. schema

DTD是一种基本的XML约束语言,用于定义XML文档的元素、属性和实体,以及它们之间的关系和约束。DTD使用一组规则来验证XML文档的结构和内容,确保它们符合DTD中定义的规范。

Schema是一种更强大和灵活的XML约束语言,用于定义XML文档的结构、数据类型和约束。XML Schema使用XML语法来定义元素、属性、数据类型、约束和关系,可以进行更复杂的验证和约束。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/841069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

并查集练习 — 岛屿问题(解法二)

题目如岛屿问题解法一文章所介绍&#xff0c;这里不过多赘述&#xff0c;直接讲解第二种解法。 并查集解法 并查集解法的整体思路是&#xff0c;将二维数组中为‘1’的部分提取出来作为样本&#xff0c;再进行判断&#xff0c;如果左上方向有同样为‘1’的&#xff0c;则进行…

架构训练营学习笔记:6-1 微服务

序 这部分是了解的。传统企业使用soa较多。很多企业银行、电信对于Oracle 依赖大&#xff0c;强调稳定性。各个项目侧重外包&#xff0c;技术栈不统一。 soa 历史 这个之前电信的BOSS系统就是这种架构&#xff0c;不知道现在呢&#xff0c;核心计费系统billing是运行在tuxduo…

整理mongodb文档:collation

文章连接 整理mongodb文档:collation 看前提示 对于mongodb的collation。个人主要用的范围是在createcollection&#xff0c;以及find的时候用&#xff0c;所以本片介绍的时候也是这两个地方入手&#xff0c;对新手个人觉得理解概念就好。不要求强制性掌握&#xff0c;但是要…

jmeter工具测试和压测websocket协议【杭州多测师_王sir】

一、安装JDK配置好环境变量&#xff0c;安装好jmeter 二、下载WebSocketSampler发送请求用的&#xff0c;地址&#xff1a;https://bitbucket.org/pjtr/jmeter-websocket-samplers/downloads/?spma2c4g.11186623.2.15.363f211bH03KeI 下载解压后的jar包放到D:\JMeter\apache-j…

MyCat配置rule.xml、server.xml讲解

1. rule.xml分片规则配置文件 rule.xml中配置的主要就是拆分表的规则&#xff0c;rule.xml中主要包含两类标签 tableRule 和Function。 tableRule标签里面主要配置我们的分片规则&#xff0c;Function里面涉及的是分片规则里面所涉及的java类&#xff0c;都是在function中配置…

python中的装饰器的真正含义和用法

闭包&#xff1a; 闭包是python中的一个很实用的写法&#xff0c;可以使得用户在函数中调用该函数外的函数的变量&#xff0c;使得该变量常驻于内存中。 闭包函数&#xff1a; 输入是函数&#xff0c;输出也是一个函数。 装饰器的写法是python闭包的语法糖。 面试中经常面…

[C++] KY79 浮点数加法 北京大学复试上机题

题目链接 KY79 浮点数加法https://www.nowcoder.com/questionTerminal/ddec753f446e4ba4944e35378ba635c8 描述 求2个浮点数相加的和 题目中输入输出中出现浮点数都有如下的形式&#xff1a; P1P2...Pi.Q1Q2...Qj 对于整数部分&#xff0c;P1P2...Pi是一个非负整数 对于小数…

【前端】html

HTML标签&#xff08;上&#xff09; 目标&#xff1a; -能够说出标签的书写注意规范 -能够写出HTML骨架标签 -能够写出超链接标签 -能够写出图片标签并说出alt和title的区别 -能够说出相对路径的三种形式 目录&#xff1a; HTML语法规范HTML基本结构标签开发工具HTML常用标…

C语言案例 99乘法口诀-04

难度2复杂度2 题目&#xff1a;打印99乘法口诀 步骤一&#xff1a;定义程序目标 编写一个C程序&#xff0c;打印99乘法口诀。 步骤二&#xff1a;程序设计 整个程序分别为两个部分&#xff0c;第一部分是使用for循环打印的行数&#xff0c;第二部分是使用for循环控制打印的列…

基于Azure OpenAI Service 的知识库搭建实验⼿册

1.概要 介绍如何使⽤Azure OpenAI Service 的嵌⼊技术&#xff0c;创建知识库&#xff1b;以及创建必要的资源组和资源&#xff0c;包括 Form Recognizer 资源和 Azure 翻译器资源。在创建问答机器⼈服务时&#xff0c;需要使⽤已部署模型的 Azure OpenAI 资源、已存在的…

一键翻译,实现文件名简体中文转日语的便捷改名!

您是否曾经遇到过想要将文件名从简体中文翻译成日语&#xff0c;却苦于没有合适的工具&#xff1f;现在&#xff0c;让我们为您介绍一款便捷的解决方案——文件名简体中文转日语翻译工具&#xff01; 首先&#xff0c;第一步&#xff0c;我们需要打开文件批量改名&#xff0c;…

无涯教程-Perl - binmode函数

描述 此函数设置在区分两者的操作系统上以二进制形式读取和写入FILEHANDLE的格式。非二进制文件的CR LF序列在输入时转换为LF,在LF时在输出时转换为CR LF。这对于使用两个字符分隔文本文件中的行的操作系统(MS-DOS)至关重要,但对使用单个字符的操作系统(Unix,Mac OS,QNX)没有影…

付款方式谈得好,订单跑不了

在与客户商讨付款方式时出现分歧&#xff0c;其实是非常常见的情况。 在这种情况下&#xff0c;我们需要紧握谈判的节奏&#xff0c;不可忽视任何细节&#xff0c;更不能让自己陷入混乱之中。 先看一个案例~ 客户发来邮件&#xff1a; Dear... Please find our attached f…

远程访问桌面软件 OpenText Exceed TurboX(ETX)如何提高企业生产力

远程访问桌面软件 OpenText Exceed TurboX&#xff08;ETX&#xff09;如何提高企业生产力 几乎所有规模和行业的企业&#xff0c;员工的工作方式、时间和地点方面发生重大变化&#xff0c;这主要得益于新技术和全球商业与协作。业务领导者正在推动其 IT 部门提出解决方案&…

使用yarn启动项目报错

使用yarn启动项目报错 解决方法&#xff1a; 1.点击“开始”菜单搜索找到 Windows PowerShell ISE并以管理员身份运行(注&#xff1a;不是以管理员的身份直接运行cmd) 2. 输入 set-ExecutionPolicy RemoteSigned 回车 3.输入&#xff08;选择全是&#xff09; 4.再输入get-Exe…

【Linux】五、进程

一、冯诺依曼体系结构 存储器&#xff1a;指的是内存&#xff1b; 输入设备&#xff1a;键盘、摄像头、话筒&#xff0c;磁盘&#xff0c;网卡&#xff1b; 输出设备&#xff1a;显示器、音响、磁盘、网卡&#xff1b; 中央处理器&#xff08;CPU&#xff09;&#xff1a;运算器…

【架构】Java 系统架构演进的思考

文章目录 1 前言2 单体应用架构3 垂直应用架构4 分布式架构5 SOA 架构6 微服务云架构7 总结 1 前言 随着移动互联的发展&#xff0c;网站、H5、移动端的应用规模也不断扩大&#xff0c;不管是应用的数量还是质量都得到了指数级的提升。开发者的数量与日俱增&#xff0c;应用的…

Python实现GA遗传算法优化Catboost回归模型(CatBoostRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 遗传算法&#xff08;Genetic Algorithm&#xff0c;GA&#xff09;最早是由美国的 John holland于20世…

The ‘kotlin-android-extensions‘ Gradle plugin is no longer supported.

Android使用kotlin开发&#xff0c;运行报错 The kotlin-android-extensions Gradle plugin is no longer supported. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.an…

FPGA优质开源项目 - UDP RGMII千兆以太网

本文介绍一个FPGA开源项目&#xff1a;UDP RGMII千兆以太网通信。该项目在我之前的工作中主要是用于FPGA和电脑端之间进行图像数据传输。本文简要介绍一下该项目的千兆以太网通信方案、以太网IP核的使用以及Vivado工程源代码结构。 Vivado 的 Tri Mode Ethernet MAC IP核需要付…