JavaWeb开发(六)XML介绍

news2025/1/9 20:35:28

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.coloradmin.cn/o/2273997.html

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

相关文章

攻防世界 bug

发现有Register界面&#xff0c;先去注册 登录以后发现以下界面&#xff0c;点击Manage显示you are not admin&#xff0c;并且在注册界面用admin为注册名时显示用户名已存在。初步推测是设法改变admin的密码取得权限。 在主界面一通操作并没有什么发现&#xff0c;去findpw…

maven依赖的配置和排除依赖

1.依赖的配置 1.1位置&#xff1a;写在<properties></properties>标签之下&#xff0c;<project></project>里。 1.2语法固定的格式 <dependencies><dependency></dependency></dependencies> 1.3在 <dependency><…

transformer深度学习实战CCTSDB中国交通标志识别

本文采用RT-DETR作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。RT-DETR以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对CCTSDB交通标志数据集进行训练和优化&#xff0c;该数据集包含丰富的CCTSDB交…

Elastic-Job相关

文档参考视频&#xff1a;09_SpringBoot案例演示_哔哩哔哩_bilibili 一、Elastic-Job介绍 Elastic-Job 是一个轻量级、分布式的任务调度框架&#xff0c;旨在解决分布式环境下的定时任务调度问题。 1.1. Elastic-Job 的核心组件 Elastic-Job 是由多个核心组件构成的&#x…

esp32开发笔记之一:esp32开发环境搭建vscode+ubuntu

最近想用esp32做一个物联网项目&#xff0c;踩坑N个终于有点心得&#xff0c;写下来避免和我一样的小白踩无谓的坑。 写在前面&#xff1a; 第一&#xff0c;大家一定要用linux系统作为编译工具&#xff0c;速度上是windows无法比的&#xff0c;不要因为不熟悉linux而选择win…

(七)人工智能进阶之人脸识别:从刷脸支付到智能安防的奥秘,小白都可以入手的MTCNN+Arcface网络

零、开篇趣谈 还记得第一次用支付宝"刷脸"时的新奇感吗&#xff1f;或者被抖音的人脸特效逗乐的瞬间&#xff1f;这些有趣的应用背后&#xff0c;其实藏着一个精妙的AI世界。今天&#xff0c;就让我们开启一段奇妙的人脸识别技术探索之旅吧&#xff01; 一、人脸识…

攻防世界 ics-07

点击之后发现有个项目管理能进&#xff0c;点进去&#xff0c;点击看到源码&#xff0c;如下三段 <?php session_start(); if (!isset($_GET[page])) { show_source(__FILE__); die(); } if (isset($_GET[page]) && $_GET[page] ! index.php) { include(flag.php);…

使用 SQL 和表格数据进行问答和 RAG(6)—将指定目录下的 CSV 或 Excel 文件导入 SQLite 数据库

将指定目录下的 CSV 或 Excel 文件导入 SQLite 数据库。以下是详细代码逻辑&#xff1a; 1. 类结构 该类包含三个主要方法&#xff1a; _prepare_db&#xff1a;负责将文件夹中的 CSV 和 XLSX 文件转换为 SQL 表。_validate_db&#xff1a;用于验证 SQL 数据库中创建的表是否…

各品牌大语言模型汇总

2024年大语言模型快速发展&#xff0c;应用广泛。面对众多选择&#xff0c;我们整理了一份各大语言模型汇总表格&#xff0c;提供清晰参考&#xff0c;助您了解各模型参数&#xff08;截止日期为2025年1月8日&#xff09;。 高通智匠AI支持在Windows/Android/MAC等平台上使用 …

xtu oj 1614 数字(加强版)

输出格式# 每行输出一个样例的结果&#xff0c;为一个整数。 样例输入# 3 1 10 101 样例输出# 1 2 3 解题思路&#xff1a;这个题不要想复杂了&#xff0c;很容易超时。 首先需要注意的点&#xff0c;n<10的10000次方&#xff0c;用int或者long long都会爆&#xff0c;所…

【25考研】川大计算机复试情况,重点是啥?怎么准备?

24年进入复试的同学中&#xff0c;有10位同学的复试成绩为0分。具体是个人原因还是校方原因&#xff0c;还尚不明确。但是C哥提醒&#xff0c;一定要认真复习&#xff01;复试完后不要跟任何人讨论有关复试的题目及细节&#xff01; 一、复试内容 四川大学复试内容较多&#xf…

AR 眼镜之-拍照/录像动效切换-实现方案

目录 &#x1f4c2; 前言 AR 眼镜系统版本 拍照/录像动效切换 1. &#x1f531; 技术方案 1.1 技术方案概述 1.2 实现方案 1&#xff09;第一阶段动效 2&#xff09;第二阶段动效 2. &#x1f4a0; 默认代码配置 2.1 XML 初始布局 2.2 监听滑动对 View 改变 3. ⚛️…

STM32-笔记39-SPI-W25Q128

一、什么是SPI&#xff1f; SPI是串行外设接口&#xff08;Serial Peripheral Interface&#xff09;的缩写&#xff0c;是一种高速的&#xff0c;全双工&#xff0c;同步的通信总线&#xff0c;并且 在芯片的管脚上只占用四根线&#xff0c;节约了芯片的管脚&#xff0c;同时为…

JavaScript动态渲染页面爬取之Selenium

前面这篇博客讲解了 Ajax 的分析方法&#xff0c;利用 Ajax接口可以非常方便地爬取数据。只要能找到 Ajax接口的规律&#xff0c;就可以通过某些参数构造出对应的请求&#xff0c;自然就能轻松爬取数据啦。 但是在很多情况下&#xff0c;Ajax请求的接口含有加密参数&#xff0…

python学习笔记—14—函数

1. 函数 (1) len与my_len str "supercarrydoinb"def my_len(tmp_str):cnt 0for i in tmp_str:cnt 1return cntstr_len_1 len(str) str_len_2 my_len(str) print(f"len {str_len_1}") print(f"my_len {str_len_2}") (2) 函数传参数量不受…

Unity性能优化总结

目录 前言 移动端常见性能优化指标​编辑 包体大小优化 FPS CPU占用率 GPU占用率 内存 发热和耗电量 流量优化 前言 终于有时间了,我将在最近两个项目中进行优化的一些经验进行归纳总结以飨读者。因为我习惯用思维导图,所以归纳的内容主要以图来表达希望对大家有用。…

51单片机——定时器中断(重点)

STC89C5X含有3个定时器&#xff1a;定时器0、定时器1、定时器2 注意&#xff1a;51系列单片机一定有基本的2个定时器&#xff08;定时器0和定时器1&#xff09;&#xff0c;但不全有3个中断&#xff0c;需要查看芯片手册&#xff0c;通常我们使用的是基本的2个定时器&#xff…

基于html5实现音乐录音播放动画源码

源码介绍 基于html5实现音乐录音播放动画源码是一款类似Shazam的UI&#xff0c;点击按钮后&#xff0c;会变成为一个监听按钮。旁边会有音符飞入这个监听按钮&#xff0c;最后转换成一个音乐播放器。 效果预览 源码获取 基于html5实现音乐录音播放动画源码

对话|全年HUD前装将超330万台,疆程技术瞄准人机交互“第一屏”

2024年&#xff0c;在高阶智驾进入快速上车的同时&#xff0c;座舱人机交互也在迎来新的增长点。Chat GPT、AR-HUD、车载投影等新配置都在带来新增量机会。 高工智能汽车研究院监测数据显示&#xff0c;2024年1-10月&#xff0c;中国市场&#xff08;不含进出口&#xff09;乘用…

【技术支持】安卓无线adb调试连接方式

Android 10 及更低版本&#xff0c;需要借助 USB 手机和电脑需连接在同一 WiFi 下&#xff1b;手机开启开发者选项和 USB 调试模式&#xff0c;并通过 USB 连接电脑&#xff08;即adb devices可以查看到手机&#xff09;&#xff1b;设置手机的监听adb tcpip 5555;拔掉 USB 线…