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文件。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3实现PDF在线预览功能

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vue篇专栏内容:Vue3现PDF在线预览功能 前言 在开发中&#xff0c;PDF预览和交互功能是一个常见的需求。无论是管理…

win32汇编环境,在窗口程序中画简单图形

;运行效果 ;win32汇编环境&#xff0c;在窗口程序中画简单图形 ;展示点、直线、圆、椭圆、正方形、矩形、圆角矩形的画法 ;将代码复制进radasm软件里&#xff0c;直接编译可运行.重要部分加备注。 ;>>>>>>>>>>>>>>>>>>&…

[7种方法] 如何修复iPad无法连接到App Store

“现在已经 3 天了&#xff0c;我无法从 iPad 连接到 App Store。起初&#xff0c;我以为这是服务器问题&#xff0c;但已经过去 3 天了&#xff0c;问题仍然存在。请帮助我&#xff01;” 如果您的iPad 无法连接到 App Store&#xff0c;可能有多种原因。即使是日期和时间设置…

weblogic安装 12.2.1.4.0 单机

fmw_12.2.1.4.0_wls.jar和jdk-8u341-linux-x64.tar.gz&#xff0c;安装weblogic 安装JDK 8 # 1. 创建Java安装目录 mkdir -p /usr/java cd /usr/java# 2. 解压JDK tar -zxvf jdk-8u341-linux-x64.tar.gz# 3. 配置环境变量 cat >> /etc/profile << EOF export JAV…

vue elementUI Plus实现拖拽流程图,不引入插件,纯手写实现。

vue elementUI Plus实现拖拽流程图&#xff0c;不引入插件&#xff0c;纯手写实现。 1.设计思路&#xff1a;2.设计细节3.详细代码实现 1.设计思路&#xff1a; 左侧button列表是要拖拽的组件。中间是拖拽后的流程图。右侧是拖拽后的数据列表。 我们拖动左侧组件放入中间的流…

SpringBoot+Vue养老院管理系统设计与实现【开题报告+程序+安装部署+售后讲解】

【1】系统介绍 一、研究背景 随着中国人口老龄化的加剧&#xff0c;养老问题已成为社会关注的热点话题。传统的养老服务模式难以满足日益增长的老年人群体的需求&#xff0c;尤其是在信息化和智能化方面存在明显不足。为了提高养老服务效率&#xff0c;改善老年人生活质量&am…

【网络安全 | 漏洞挖掘】通过模拟功能实现提权(Bugcrowd)

未经许可,不得转载。 我将与大家分享我在 Bugcrowd 的某个项目中发现的一个漏洞,该项目中有一个“用户模拟”功能。 什么是用户模拟? 用户模拟允许管理员在不知晓用户凭据的情况下“以用户身份登录”。这种功能常见于管理员需要调试问题、审查用户权限或解决投诉的平台中。…

ValuesRAG:以检索增强情境学习强化文化对齐

随着大型语言模型&#xff08;LLMs&#xff09;的迅猛发展&#xff0c;其在各个领域展现出强大的能力。然而&#xff0c;训练数据中西方中心主义的倾向&#xff0c;使得 LLMs 在文化价值观一致性方面面临严峻挑战&#xff0c;这一问题在跨文化场景中尤为突出&#xff0c;可能导…

【CSS】第二天 画盒子、文字控制属性

【CSS】第二天 1. 画盒子2. 文字控制属性2.1 字体大小2.2 字体粗细2.3 字体样式是否倾斜2.4 行高2.5 行高-垂直居中2.6 字体族2.7 字体复合属性 font 1. 画盒子 目标&#xff1a;使用合适的选择器画盒子。 新属性 <!DOCTYPE html> <html> <head><meta …

东京大学联合Adobe提出基于指令的图像编辑模型InstructMove,可通过观察视频中的动作来实现基于指令的图像编辑。

东京大学联合Adobe提出的InstructMove是一种基于指令的图像编辑模型&#xff0c;使用多模态 LLM 生成的指令对视频中的帧对进行训练。该模型擅长非刚性编辑&#xff0c;例如调整主体姿势、表情和改变视点&#xff0c;同时保持内容一致性。此外&#xff0c;该方法通过集成蒙版、…

一文讲明白朴素贝叶斯算法及其计算公式(入门普及)

1、贝叶斯算法 贝叶斯定理由英国数学家托马斯贝叶斯 ( Thomas Bayes) 提出的&#xff0c;用来描述两个条件概率之间的关系。通常&#xff0c;事件A在事件B 发生的条件下与事件 B 在事件 A 发生的条件下&#xff0c;它们两者的概率并不相同&#xff0c;但是它们两者之间存在一定…

SpringBoot Maven 项目 pom 中的 plugin 插件用法整理

把 SpringBoot Maven 项目打包成 jar 文件时&#xff0c;我们通常用到 spring-boot-maven-plugin 插件。 前面也介绍过&#xff0c;在 spring-boot-starter-parent POM 和 spring-boot-starter POM 中都有插件的管理&#xff0c;现在我们就撸一把构建元素中插件的用法。 一、…

PDF文件提示-文档无法打印-的解决办法

背景信息 下载了几个签名的PDF文件&#xff0c;想要打印纸质版&#xff0c;结果打印时 Adobe Acrobat Reader 提示【文档无法打印】: 解决办法 网上的方案是使用老版本的PDF阅读器&#xff0c; 因为无法打印只是一个标识而已。 PDF文件不能打印的五种解决方案-zhihu 这些方…

SQL Server 数据库 忘记密码

1、先用windows 身份验证 连接 2、安全性--登录名 3、设置 身份验证 4、重启电脑 5、登录 登陆成功!!! ------------------------------------------------------------------ --1、查询登录账号信息 ------------------------------------------------------------------ -- …

oscp备考 oscp系列——Kioptix Level 1靶场 古老的 Apache Vuln

目录 前言 1. 主机发现 2. 端口扫描 3. 指纹识别 4. 目录扫描 5. 漏洞搜索和利用 前言 oscp备考&#xff0c;oscp系列——Kioptix Level 1靶场 Kioptix Level 1难度为简单靶场&#xff0c;主要考察 nmap的使用已经是否会看输出&#xff0c;以及是否会通过应用查找对应漏…

OpenGL材质系统和贴图纹理

上一篇文章当中笔者为大家介绍了风氏光照模型&#xff0c;相信大家也发现了光照着色器当中有设置有很多控制光照强度的参数&#xff0c;而所谓的材质系统就是我们可以人为的去调节这些参数&#xff0c;让一个物体的反光效果能够更加接近我们现实生活当中的一些物体。 材质系统…

光缆生产车间可视化,让智能制造更透明

图扑光缆生产车间可视化系统通过实时监控和数据分析&#xff0c;优化生产流程&#xff0c;提升产品质量和产能效率&#xff0c;为光缆制造业提供智能化解决方案&#xff0c;推动产业升级。

深入理解 Java 接口的回调机制

前言 回调是一种非常重要的编程技术&#xff0c;它广泛应用于事件驱动的编程、异步任务和框架设计中。在 Java 中&#xff0c;回调机制通常通过 接口 来实现。本篇博客将详细解析 Java 接口的回调原理、实现方式&#xff0c;以及实际开发中的应用场景。 泪崩了&#xff0c;期末…

LangChain 介绍

LangChain 是一个用于构建语言模型驱动的应用程序&#xff08;Language Model Applications&#xff09;的开发框架&#xff0c;旨在帮助开发者将大型语言模型&#xff08;LLMs&#xff09;集成到更复杂的、具备上下文感知能力的应用中。LangChain 支持使用模型如 OpenAI GPT-3…

Nginx代理本地exe服务http为https

Nginx代理本地exe服务http为https 下载NginxNginx命令exe服务http代理为https 下载Nginx 点击下载Nginx 下载好之后是一个压缩包&#xff0c;解压放到没有中文的路径下就可以了 Nginx命令 调出cmd窗口cd到安装路径 输入&#xff1a;nginx -v 查看版本 nginx -h&#xff…