当前位置: 首页 > news >正文

JavaWeb开发(六)XML介绍

1. XML介绍

1.1. 什么是XML

  (1)XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种很像HTML的标记语言。
  (2)XML 的设计宗旨是传输数据(目前主要是作为配置文件),而不是显示数据。
  (3)XML 标签没有被预定义。您需要自行定义标签。
  (4)XML 被设计为具有自我描述性。
  (5)XML是W3C的推荐标准。
  可在不同的平台中使用,比如javaphp都可以使用xml作为文件配置和数据传输的工具。

1.2. 常见应用场景

  XML 应用于 Web 开发的许多方面,常用于简化数据的存储和共享。
  (1)存储数据,配置相关信息(目前主要应用范围)。
在这里插入图片描述
  (2)传输数据的载体(现在很少使用,基本使用json传输数据。

1.3. XML的结构

  XML是一种树状结构
  XML 文档必须包含根元素。该元素是所有其他元素的父元素。XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。

<root>
<child>
<subchild>.....</subchild>
</child>
</root>

1.4. XML语法

  (1)所有XML元素都须有关闭标签(在HTL,经常会看到没有关书标签的元素)
  (2)XML, 标签对大小写敏感,这是错误的</message)
  (3)XML文档必须有根元素
  (4)XML的属性值须加引号<note date=”12/11/2007">
  (5)XML中的注释<!–This isacomment –
  (在XML中编写注释的语法与 HTML的语法很相似)

1.5. XML元素

1.5.1. 什么是XML元素

  XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
  一个元素可以包含:
  (1)其他元素
  (2)文本
  (3)属性

1.5.2. XML命名规则

  XML 元素必须遵循以下命名规则;
  (1)名称可以包含字母、数字以及其他的字符;
  (2)名称不能以数字或者标点符号开始;
  (3)名称不能以字母xml(或者XML、Xml 等等)开始;
  (4)名称不能包含空格。

1.6. XML属性

1.6.1. 什么是XML属性

  XML元素具有属性,类似HTML。
  属性(Attribute)提供有关元素的额外信息。

1.6.2. 属性使用规范

  XML,属性必须加引号。
  且不建议是用属性,因为元素基本可以完成属性的功能,且更易读。

1.7. XML解析

1.7.1. XML解析概述

  当我们将数据存储在xm1文件之后,我们希望通过程序去读取xm1的内容,通过java基础的I0也是可以读取的,但是十分的麻烦。因此出现了一些解析的方式。
  常见的有:DOM解析,SAX解析。
  由于目前xml很少作为传输数据的方式,所以解析相关的方法用的也很少,作为了解内容。

1.7.2. 解析方式

  (1)DOM解析:将整个xm1文件加载到内存中,并解析成一个Docunment对象。
  优点:无素与元素之间保留了层级结构关系,可以进行增删改查。
  缺点:xml文件过大时,可能产生内存溢出问题。
  (2)SAX解析:速度更快,更有效的方式。它会逐行扫描文档,在扫描的同时进行解析。
  优点:速度更快,可处理大的文件。
  缺点:只能读取,无法修改,读取后将释放资源。

1.8 .XML约束

1.8.1. 什么是DTD

  DTD:文档类型定义,用来约束XML文件,规定文档中元素名称,子元素的名称及顺序,元素的属性等。
  我们并不要求学会编写DTD约束文档,能够看懂即可。

1.8.2. Schema

1.8.2.1. 什么是Schema

  Schema是XML文档约束,它是DTD约束的替代品,相较于DTD更强大扩展名市xsd,通过命名空间引入使用。

1.8.2.2. 命名空间

  如果一个文档中有多个Schema文件,而些文件如果定义了相同的名称的元素,就会出现名字冲突。这就类似于java中如果没有包名,那么class文件就很容易冲突是一样的道理。
  引入方式:

默认隐式:xmins="http://xmns.jcp.org/xm1/ns/javaee"
显式方式:xmIns:xsd="http://xmlns.jcp.org/xml/ns/javaee"

在这里插入图片描述

1.8.2.3. 使用Schema

  (1)将约東文件copy到对应工程中。
  (2)打开Schema约束copy命名空间。
  (3)编写xm1文件。

相关文章:

JavaWeb开发(六)XML介绍

1. XML介绍 1.1. 什么是XML &#xff08;1&#xff09;XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种很像HTML的标记语言。   &#xff08;2&#xff09;XML 的设计宗旨是传输数据(目前主要是作为配置文件)&#xff0c;而不是显示数据。   &#xff08;3&a…...

使用pbootcms开发一个企业官网

V:llike620 pbootcms开源PHP建站系统 https://www.pbootcms.com/ 配置网站 域名解析后&#xff0c;网站绑定到程序根目录即可 例如&#xff1a;本地域名是dobot.test &#xff0c;那么也要同步本地的hosts是 127.0.0.1 dobot.test 需要配置下伪静态规则 location / {if (!-e $r…...

Linux C编程——文件IO基础

文件IO基础 一、简单的文件 IO 示例二、文件描述符三、open 打开文件1. 函数原型2. 文件权限3. 宏定义文件权限4. 函数使用实例 四、write 写文件五、read 读文件六、close 关闭文件七、Iseek 绍 Linux 应用编程中最基础的知识&#xff0c;即文件 I/O&#xff08;Input、Outout…...

【信息系统项目管理师】高分论文:论信息系统项目的风险管理(人民医院的信息系统)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划风险管理2、项目风险识别3、风险定性分析4、风险定量分析5、制定风险应对6、实施风险应对计划7、监督风险论文 2022年6月,我作为项目经理承担了XX县人民医院的信息系统建设,该项目总投资300万,其…...

UE播放声音

蓝图中有两个播放声音的函数 Play Sound 2D 和 Play Sound at Location Play Sound 2D没有声音距离衰减&#xff0c;一般用于界面ui Play Sound at Location 有声音距离衰减&#xff0c;一般用于枪声&#xff0c;场景声等&#xff0c;比较常用...

Docker Compose 启动 Harbor 并指定网络

1. 介绍 Harbor 是一个开源的企业级 Docker 镜像仓库&#xff0c;提供镜像存储、访问控制、安全扫描等功能。使用 Docker Compose 启动 Harbor 时&#xff0c;您可以指定一个自定义网络&#xff0c;以便管理容器之间的网络通信。在本示例中&#xff0c;我们将创建一个名为 har…...

WebSocket 实战案例:从设计到部署

在前六篇文章中,我们深入探讨了 WebSocket 的基础原理、服务端开发、客户端实现、安全实践、性能优化和测试调试。今天,让我们通过一个实战案例,看看如何将这些知识应用到实际项目中。我曾在一个大型在线教育平台中,通过 WebSocket 实现了实时互动课堂,支持了数万名师生的同时在…...

selenium合集

环境搭建步骤 安装selenium pip install selenium 安装浏览器 安装浏览器驱动 谷歌浏览器&#xff1a;chromdriver.exe ie浏览器:ieserverdriver.exe FireFox浏览器:geckodriver.exe 特别注意⚠️&#xff1a;下载驱动版本必须与浏览器版本一致 下载地址 淘宝镜像&#xff1…...

JVM生产环境常用参数配置及调优建议

一、生产常用参数配置 JAVA_OPTS"-server -Xms3000m -Xmx3000m -Xmn1500m -XX:UseG1GC -XX:ConcGCThreads8 -XX:PrintGCDetails -XX:PrintGCTimeStamps -Xloggc:./g1-gc.log -XX:MaxMetaspaceSize256m -XX:-UseGCOverheadLimit -XX:UseCompressedOops -XX:HeapDumpOnOu…...

Spring Boot 3 实现 MySQL 主从数据库之间的数据同步

✅ Spring Boot 3 实现 MySQL 主从数据库之间的数据同步 在实际项目中&#xff0c;为了提高 系统的读性能 和 数据的可用性&#xff0c;通常会使用 主从数据库架构。Spring Boot 提供了对 多数据源 的良好支持&#xff0c;可以轻松配置 主从数据库 的数据同步&#xff0c;实现…...

【小程序开发】- 小程序版本迭代指南(版本发布教程)

一&#xff0c;版本号 版本号是小程序版本的标识&#xff0c;通常由一系列数字组成&#xff0c;如 1.0.0、1.1.0 等。版本号的格式通常是 主版本号.次版本号.修订号 主版本号&#xff1a;当小程序有重大更新或不兼容的更改时&#xff0c;主版本号会增加。 次版本号&#xff1a…...

MySQL 间隙锁避免“可重复读”出现“幻读”

在数据库事务处理中&#xff0c;可重复读&#xff08;Repeatable Read&#xff09;是一个常用的隔离级别&#xff0c;但其默认行为可能导致幻读现象。然而&#xff0c;在 MySQL 的实现中&#xff0c;通过 **间隙锁&#xff08;Gap Lock&#xff09;**机制&#xff0c;能够避免幻…...

揭秘区块链隐私黑科技:零知识证明如何改变未来

文章目录 1. 引言&#xff1a;什么是零知识证明&#xff1f;2. 零知识证明的核心概念与三大属性2.1 完备性&#xff08;Completeness&#xff09;2.2 可靠性&#xff08;Soundness&#xff09;2.3 零知识性&#xff08;Zero-Knowledge&#xff09; 3. 零知识证明的工作原理4. 零…...

JavaWeb开发:从入门到精通

近年来&#xff0c;JavaWeb开发已经成为了互联网开发领域的重要技术之一。无论是大型企业还是个人项目&#xff0c;都离不开JavaWeb开发。本文将为您介绍JavaWeb开发的基本概念、常用技术和开发流程&#xff0c;帮助您快速入门并掌握这一技术。 一、JavaWeb开发的基本概念 Jav…...

2025年01月07日Github流行趋势

项目名称&#xff1a;khoj 项目地址url&#xff1a;https://github.com/khoj-ai/khoj项目语言&#xff1a;Python历史star数&#xff1a;20105今日star数&#xff1a;363项目维护者&#xff1a;debanjum, sabaimran, MythicalCow, aam-at, shantanuSakpal项目简介&#xff1a;你…...

c#集成npoi根据excel模板导出excel

NuGet中安装npoi 创建excel模板&#xff0c;替换其中的内容生成新的excel文件。 例子中主要写了这四种情况&#xff1a; 1、替换单个单元格内容&#xff1b; 2、替换横向多个单元格&#xff1b; 3、替换表格&#xff1b; 4、单元格中插入图片&#xff1b; using System.IO; …...

Vue2移动端(H5项目)项目封装switch组件支持动态设置开启关闭背景色、值及组件内显示文字描述、禁用、switch 的宽度

前言 近期产品需求&#xff1a;Vue2移动端项目需要在switch开关内显示文字&#xff0c;看Vantui没有对应功能&#xff0c;因此自己手撸写了这个组件。 一、最终效果 二、参数配置 1、代码示例&#xff1a; <t-switch v-model"check"/>2、配置参数&#xff08;…...

MATLAB语言的语法糖

MATLAB语言的语法糖 引言 在编程语言的发展历程中&#xff0c;语法糖&#xff08;Syntactic Sugar&#xff09;被广泛提及。它指的是一种编程语言的语法特性&#xff0c;旨在使代码更易读、更易写&#xff0c;虽然这些特性并不增加语言的表达能力&#xff0c;但能使程序员的生…...

数字IC设计高频面试题

在数字IC设计领域&#xff0c;面试是评估候选人技术能力和问题解决能力的重要环节。数字IC设计的复杂性和要求在不断提高。面试官通常会提出一系列面试题&#xff0c;以考察应聘者在数字设计、验证、时钟管理、功耗优化等方面的专业知识和实践经验。 这些题目不仅涉及理论知识…...

OpenCV 4.5至4.10版本更新概述

OpenCV 4.5至4.10版本更新概述 OpenCV 从 4.5 到 4.10 版本的更迭中&#xff0c;每个版本都引入了新功能、优化和修复。以下是主要版本的更新内容概述&#xff1a; OpenCV 4.5.x 系列 4.5.0 (2020年10月) 新增对 YOLOv4 的支持。引入 DNN 模块的改进&#xff0c;包括对 ONNX …...

百元挂耳式耳机哪款音质好?带你弄懂最值得购买的十大开放式耳机

现在市面上有些牌子&#xff0c;价格标得挺高&#xff0c;体验却跟不上&#xff1b;还有些走低价路线的网红款&#xff0c;看着参数漂亮&#xff0c;实际到手一用——耳挂硬得硌耳朵&#xff0c;声音飘得像隔层纱&#xff0c;用不了几个月就开始出毛病。这种产品&#xff0c;买…...

Windows Server 操作主机管理实验文档

实验概述 实验目的 本实验旨在帮助学员掌握Active Directory域环境中操作主机(FSMO)的相关知识,熟练掌握操作主机角色的查看、转移和夺取方法,能够独立处理域环境中操作主机故障相关的运维问题。 前置知识 实验开始前请掌握以下知识点: 操作主机(FSMO,灵活单一主机操作)…...

手机号查QQ号:3个步骤找回遗忘的QQ账号,你试过吗?

手机号查QQ号&#xff1a;3个步骤找回遗忘的QQ账号&#xff0c;你试过吗&#xff1f; 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾经因为忘记QQ号而陷入数字身份的困境&#xff1f;当新设备需要验证时&#xff0c;只记得…...

fpga系列 HDL:跨时钟域同步 双触发器同步器

目录双触发器同步器&#xff08;Two-Flip-Flop Synchronizer&#xff09;示例代码&#xff1a;双触发器同步器的优缺点优点&#xff1a;缺点&#xff1a;适用场景&#xff1a;应用实例&#xff1a;同步来自spi_slave的单个使能信号跨时钟域的设计需要特别小心&#xff0c;以避免…...

LaTeX公式一键转换Word:告别复制粘贴的终极解决方案

LaTeX公式一键转换Word&#xff1a;告别复制粘贴的终极解决方案 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 还在为学术论文中的公式迁移而烦…...

DeEAR部署案例:私有化部署于银行远程视频柜员系统,实时评估客户情绪稳定性

DeEAR部署案例&#xff1a;私有化部署于银行远程视频柜员系统&#xff0c;实时评估客户情绪稳定性 1. 引言&#xff1a;当银行客服遇到情绪识别技术 想象一下这个场景&#xff1a;一位客户正在通过银行的远程视频柜员系统办理业务&#xff0c;他的声音听起来有些急促&#xf…...

Qwen-Image视觉生成实战:从零构建领域专属模型的微调秘籍

1. Qwen-Image模型微调入门指南 第一次接触Qwen-Image模型微调时&#xff0c;我完全被它的潜力震撼到了。这个20B参数的多模态扩散变换器&#xff08;MMDiT&#xff09;模型&#xff0c;不仅能生成逼真图像&#xff0c;还能精准理解并执行复杂的编辑指令。最让我惊喜的是它对中…...

视频修复终极指南:如何用Untrunc恢复损坏的MP4/MOV文件

视频修复终极指南&#xff1a;如何用Untrunc恢复损坏的MP4/MOV文件 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 你是否曾经遇到过珍贵的视频文件突然无法播放的困…...

SamloaderKotlin 完全指南:跨平台三星固件下载工具的免费终极解决方案

SamloaderKotlin 完全指南&#xff1a;跨平台三星固件下载工具的免费终极解决方案 【免费下载链接】SamloaderKotlin 项目地址: https://gitcode.com/gh_mirrors/sa/SamloaderKotlin 你是否曾经为了下载三星官方固件而四处寻找工具&#xff1f;是否厌倦了那些复杂的命令…...

计算机毕业设计:Python智慧天气数据采集与可视化系统 Django框架 线性回归 数据分析 大数据 机器学习 大模型 气象数据(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战8年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ > &#x1f345;想要获取完整文章或者源码&#xff0c;或者代做&#xff0c;拉到文章底部即可与…...