技术:Java-Web基础|XML解析(一)

简介: XML 指可扩展标记语言(eXtensibleMarkupLanguage)。可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。

1 XML概述


1.1 XML简介

image.png


定义

XML 指可扩展标记语言(eXtensibleMarkupLanguage)。可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。


用途

传输和存储数据。

  • 数据传输:例如QQ聊天,微信聊天,获取天气数据。
  • 显示数据之间的关系:行政区划之间的层级关系
  • 配置文件:数据库连接经常会被配置在XML文件中


特点

与开发语言的操作系统无关,可跨平台实现操作系统间的通信。

  • 可标记。同Html一样,都有自己的标签
  • 可扩展。比Html多出来可以自行定义的标签


具象描述

可扩展标记语言;很像HTML的标记语言;设计宗旨是传输数据,而不是显示数据;XML 标签没有被预定义;可以自定义标签对;被设计为具有自我描述性;W3C 的推荐标准。


1.2 语法标记

「后缀名」

XML文件的后缀名是.xml


「文档声明」必须在文件的第一行标记



「属性」

  • version:xml的版本 1.0(使用)1.1
  • encoding:xml编码 gbk utf-8 iso8859-1(不包含中文)
  • standalone:是否需要依赖其他文件yes/no


可以参考【Python】基础知识(XML)


1.3 标签

「标签定义」

在XML中,标签可以自行定义名称,标签都是成对出现,有开始就要有结束。

例如:章三,就是一个标签对。在Html中的标签对也符合这种规范,例如

。有些没有成对出现的,例如
这是一种简写。从这里可看出来有三种类型:

  • 成对标签不包含标签体:
  • 成对标签包含标签体:章三Student>
  • 不成对标签不包含标签体:/>


「标签嵌套」

标签可以嵌套,必须要合理嵌套。


「标签语言格式」

可以是任意可解析的语言,例如英文,中文等。

英文

<Student>章三</Student>

中文

<城市>广州市</城市>


1.4 属性

<personclass="1"sex="男"><name>张三</name></person>

(1)一个标签上可以有多个属性

(2)属性名称不能相同

(3) 属性名称和属性值之间使用=,属性值使用引号括起来(可以单引号也可以双引号)(4)xml属性的名称规范和元素的名称规范一致


1.5 注释

编写注释的时候需要注意以下几点:

1、写法:

2、不能嵌套编写,例如  -->

3、不能在第一行编写,可以参考 1.2


1.6 特殊字符

特殊转义符

转义后

转义前

解释描述

&lt;

<

less than

&gt;

>

greater than

&amp;

&

ampersand

&apos;

'

apostrophe

&quot;

"

quotation mark


1.7 XML的CDATA区域

CDATA区段中的文本会被解析器忽略,其他的都会被XML解析器解析。


作用

1、解决多个字符都需要转义的操作

2、CDATA区里面,不需要转义


「格式」

<![CDATA[" 编写的内容 "]]>


1.8 PI指令和约束

「PI指令」

主要用于样式。


1.9 DTD约束

DTD约束」

1、编写DTD文件

创建一个.dtd文件


2、编写约束

编写约束使用的标签是


3、引入约束文件

<!DOCTYPE根元素名称SYSTEM" dtd 文件的路径">

dtd引入方式:内部引入、外部引入、网络引入。上述实验就是外部引入的一个实例。

  • 外部引入
<!DOCTYPE  根元素名称  SYSTEM “dtd路径”>
  • 内部引入
<!DOCTYPE根元素名称[<!ELEYENT person (name , age )><!ELEMENT name (#PCDATA)
<!ELEMENT age (#PCDATA )>
]>
  • 网络引入
<!DOCTYPE 根元素 PUBLIC “DTD 名称”“DTD 文档的 URL” >



相关文章
|
15天前
|
监控 Cloud Native Java
Quarkus 云原生Java框架技术详解与实践指南
本文档全面介绍 Quarkus 框架的核心概念、架构特性和实践应用。作为新一代的云原生 Java 框架,Quarkus 旨在为 OpenJDK HotSpot 和 GraalVM 量身定制,显著提升 Java 在容器化环境中的运行效率。本文将深入探讨其响应式编程模型、原生编译能力、扩展机制以及与微服务架构的深度集成,帮助开发者构建高效、轻量的云原生应用。
108 44
|
9天前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
88 1
|
30天前
|
安全 Java 编译器
new出来的对象,不一定在堆上?聊聊Java虚拟机的优化技术:逃逸分析
逃逸分析是一种静态程序分析技术,用于判断对象的可见性与生命周期。它帮助即时编译器优化内存使用、降低同步开销。根据对象是否逃逸出方法或线程,分析结果分为未逃逸、方法逃逸和线程逃逸三种。基于分析结果,编译器可进行同步锁消除、标量替换和栈上分配等优化,从而提升程序性能。尽管逃逸分析计算复杂度较高,但其在热点代码中的应用为Java虚拟机带来了显著的优化效果。
50 4
|
1月前
|
Java API Maven
2025 Java 零基础到实战最新技术实操全攻略与学习指南
本教程涵盖Java从零基础到实战的全流程,基于2025年最新技术栈,包括JDK 21、IntelliJ IDEA 2025.1、Spring Boot 3.x、Maven 4及Docker容器化部署,帮助开发者快速掌握现代Java开发技能。
358 1
|
29天前
|
Java 测试技术 API
2025 年 Java 开发者必知的最新技术实操指南全览
本指南涵盖Java 21+核心实操,详解虚拟线程、Spring Boot 3.3+GraalVM、Jakarta EE 10+MicroProfile 6微服务开发,并提供现代Java开发最佳实践,助力开发者高效构建高性能应用。
261 4
|
9天前
|
安全 Cloud Native Java
Java 模块化系统(JPMS)技术详解与实践指南
本文档全面介绍 Java 平台模块系统(JPMS)的核心概念、架构设计和实践应用。作为 Java 9 引入的最重要特性之一,JPMS 为 Java 应用程序提供了强大的模块化支持,解决了长期存在的 JAR 地狱问题,并改善了应用的安全性和可维护性。本文将深入探讨模块声明、模块路径、访问控制、服务绑定等核心机制,帮助开发者构建更加健壮和可维护的 Java 应用。
71 0
|
1月前
|
JavaScript 安全 前端开发
Java开发:最新技术驱动的病人挂号系统实操指南与全流程操作技巧汇总
本文介绍基于Spring Boot 3.x、Vue 3等最新技术构建现代化病人挂号系统,涵盖技术选型、核心功能实现与部署方案,助力开发者快速搭建高效、安全的医疗挂号平台。
131 3
|
1月前
|
存储 人工智能 算法
Java 大视界 -- Java 大数据在智能医疗影像数据压缩与传输优化中的技术应用(227)
本文探讨 Java 大数据在智能医疗影像压缩与传输中的关键技术应用,分析其如何解决医疗影像数据存储、传输与压缩三大难题,并结合实际案例展示技术落地效果。
|
1月前
|
机器学习/深度学习 算法 Java
Java 大视界 -- Java 大数据在智能物流运输车辆智能调度与路径优化中的技术实现(218)
本文深入探讨了Java大数据技术在智能物流运输中车辆调度与路径优化的应用。通过遗传算法实现车辆资源的智能调度,结合实时路况数据和强化学习算法进行动态路径优化,有效提升了物流效率与客户满意度。以京东物流和顺丰速运的实际案例为支撑,展示了Java大数据在解决行业痛点问题中的强大能力,为物流行业的智能化转型提供了切实可行的技术方案。
|
1月前
|
分布式计算 Cloud Native 安全
Java:历久弥新的技术基石
Java:历久弥新的技术基石

热门文章

最新文章

推荐镜像

更多
  • DNS