XML(一)

article/2025/10/12 14:34:49

一,XML简介

XMLEXtensible Markup Language):可扩展标记语言

XML 是一种很像HTML的标记语言。

XML 的设计宗旨是传输数据,而不是显示数据。

XML 标签没有被预定义。您需要自行定义标签。

XML W3C 的推荐标准。

1.XML HTML 之间的差异

XML HTML 为不同的目的而设计:

(1)XML 被设计用来传输和存储数据,其焦点是数据的内容。

(2)HTML 被设计用来显示数据,其焦点是数据的外观。

2.XML的特点

XML与操作系统、编程语言的开发平台无关。

规范统一。

3.XML的优势

存储数据;数据交换;数据配置

4.XML文档结构

5. XML声明

(1)XML声明:用以表明该文件是一个XML文档

<?xml version="1.0" encoding="UTF-8"?>

version:文档符合XML1.0规范。

encoding:文档字符编号,默认为”UTF-8”

对于任何一个XML文档,其声明部分都是固定的格式

(2)XML标签

<标签名>标签描述的内容</标签名>

<>括起来的各种标签来标记数据

任何一个XML文件可以包含任意数量的标签

6.XML元素

<元素名 属性名=“属性值”>元素内容</元素名>

XML元素:元素由开始标签、元素内容和标签组成。元素内容可以包含子元素、字符数据等

7.XML根元素

(1)每个XML文档有且只有一个根元素

(2)根元素的特点如下:

根元素是一个完全包括文档中其他所有元素的元素。

根元素的开始标签要放在所有其他元素的开始标签之前。

根元素的结束标签要放在所有其他元素的结束标签之后。

8.XML属性

一个元素可以有多个属性,多个属性之间用空格隔开。

属性只能放在开始标签中。

属性值用双引号包裹,属性值中不能直接包含<、“、&

<元素名 属性名=“属性值” 属性名=“属性值” >元素内容</元素名>

9.XML中的特殊字符的处理

 二,格式良好的XML文档

必须有XML声明语句。

必须有且只有一个根元素。

XML标签对大小写敏感。

XML标签成对出现。

XML元素正确的嵌套。

元素名称可以包含字母、数字或其他的字符。

元素名称不能以数字或者标点符号开始。

元素名称中不能含空格。

1.XML中的命名空间

场景:XML解析器在解析XML文档时,对于重名的元素,可能出现解析冲突。

命名空间的作用:命名空间有助于标准化元素和属性,并为它们加上唯一的标识,提供避免元素命名冲突的方法。

xmlns:[prefix]=“[命名空间的URI]”

2.四种常见的XML解析技术

(1) DOM解析XML

DOMDocument Object Model即文档对象模型的简称。

DOMXML文档映射成一个倒挂的树。

(2)org.w3c.dom包中的常用接口 

Document接口:Document对象代表整个XML文档,它也是对XML文档进行操作的起点。

Document接口继承自Node接口:

Node接口:表示树中的一个抽象节点。

 NodeList接口:包含了一个或者多个节点的列表。

Element接口:代表XML文档中的标签元素。

Element接口继承自Node,也是Node最主要的子对象。在标签中可以包含属性。

 

 三,DOM读取XML的步骤

1.创建解析器工厂对象(DocumentBuilderFactory)。

2.由解析器工厂对象创建解析器对象(DocumentBuilder)。

3.由解析器对象对指定XML文件进行解析,构建相应DOM,创建Document对象。

4.Document对象为起点对DOM树的节点进行增删改查操作使用

四,使用DOM保存XML文档

1.创建转换器工厂对象(TransformerFactory)。

2.由转换器工厂对象创建转换器对象(Transformer)。

3.创建DOMSource对象(DOMSource)。

4.由转换器对象设置输出格式(setOutputProperty方法)。

5.创建StreamResult对象(包含保存文件的信息)。

6.XML保存到指定文件中(transform方法)。

 


http://chatgpt.dhexx.cn/article/XVmrLTQ6.shtml

相关文章

XML文档基础及其解析

一、XML1. 概念&#xff1a;Extensible Markup Language 可扩展标记语言* 可扩展&#xff1a;标签可以自定义的。<user>、<hobby>* 功能1. 存储数据2. 在网络中传输2. XML和HTML的区别1. xml标签都是自定义的&#xff0c;html标签使预定于的2. xml的语言严格&#…

xml文件介绍

简介&#xff1a;本文主要讲解xml文件的格式&#xff0c;用途等等&#xff1b; xml概述 1.1初步认识一下xml 一段xml格式&#xff1a; 1.2什么是xml xml是传输和存储数据 html是展示数据 写一段xml文件&#xff0c;文件后缀为xml格式 所有内容必须需要一个根节点/根标签…

JavaWeb1-3学习总结(BootStrap,xml,tomcat,servlet)

1.1 BootStrap 1、概念 一个前端开发的框架&#xff0c;Bootstrap&#xff0c;来自 Twitter&#xff0c;是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的&#xff0c;它简洁灵活&#xff0c;使得 Web 开发更加快捷。 2、好处 定义了很多的css样式和j…

全面理解xml文件

XML XML相关概念 概述&#xff1a;Extensible Markup Language 可扩展标记语言 功能 ​ 存储数据 配置文件在网络中传输 xml和html的区别 XML标签都是自定义的&#xff0c;hmtl标签是预先定义的xml的语法严格&#xff0c;html语法松散XML是存储数据的&#xff0c;html是展示…

Java数组和方法

一、数组 1.定义&#xff1a;数组(array)是一种用于存储多个相同类型数据的存储模型。 格式1&#xff1a;数据类型[] 变量名 &#xff08;推荐使用&#xff09; 例子&#xff1a; int[ ] arr 定义了一个int类型数组&#xff0c;数组名是arr 格式2&#xff1a;数据类型 变量…

总结JS中常用的数组的方法大全

总结JS中常用的数组方法 JS中常用的数组方法总结 数组(Array)是一种复杂的数据类型&#xff0c;它属于Object(对象)类型&#xff0c;用来将一组数组合在一起&#xff0c;通过一个变量就可以访问一组数据。在使用数组时&#xff0c;经常会搭配循环语句使用&#xff0c;从而很方便…

17种数组常用方法

数组的常用方法&#xff08;内置方法&#xff1a;直接使用&#xff0c;只需按要求传递对应的参数&#xff09; 标红的为重点 一维数组&#xff1a;数组元素只有一个下标&#xff08;通过一个下标就可以定位数组中的元素&#xff09; 1.join(连接字符)&#xff1a;作用是将数…

Array数组的方法

1.Array.from() 将类数组结构转化为数组实例&#xff0c; 一参数是类数组对象即任何可迭代的结构&#xff0c;或者有一个length属性和可索引元素的结构 二参数是映射函数参数&#xff08;可选&#xff09;此函数可增强新函数的值&#xff0c; 三参数是指定映射函数中的this…

常用处理数组的方法

常用处理数组的方法 一、Es5 1.Arr.map() 数组中的每个元素会执行一次回调函数&#xff0c;结果作为一个新的数组返回&#xff0c;不改变原数组let arr [1, 2, 3, 4, 5] let newArr arr.map(x > {return x*2 // 将数组的每一项乘以2 }) console.log(newArr) // [2, 4, …

JS数组常用方法整理(14种常用方法)

目录 1.增 1.1 push(): 1.2 unshift(): 2.删 2.1 pop(): 2.2 shift() 3.改&#xff08;增、删&#xff09;&#xff1a; 3.1 splice() 4.查 4.1 slice() 5.将数组转换为字符串&#xff1a; 5.1 toString() 5.2 join() 6.数组拼接 6.1concat() 7.检测数组中是否包…

总结: 数组常用的方法

在实际开发当中, 数组和对象使用到最多的; 数组和对象有很多的方法, 这里主要探讨一下: 数组的增删改查数组的排序方式数组转换成其他数据类型的方式ES6数组新增常用的迭代方式 为什么需要数组? 数组可以存入不限数的数据, 并且可以使用下标值进行访问; 数据在数组的内部是有…

hive 宽表变竖表 长表变宽表

1.这是源数据以及需要转化的目标表. 我们的方法是 , 用 GROUP BY按照year分组 , 并且依次提取1月,2月,3月,4月的 num,具体实现 1 2 3 4 5 6 select year, max(case when month1 then money else 0 end) as M1, max(case when month2 then money else 0 end) as M2, max(case w…

【pandas】变形(长宽表变换)

变形 长宽表的变形 长表变宽表就是一个分类变量的多个值展开成多个变量&#xff0c;和哑变量变换有点相似&#xff0c;但不是0-1编码而是其他变量的值。 宽表变长表类似&#xff0c;多个类别可以化在一个分类变量下。 pivot pivot是一种典型的长表变宽表的函数&#xff0c;…

数据库设计--大宽表

宽表的概念 基本概念 宽表从字面意义上讲就是字段比较多的数据库表。通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。 由于把不同的内容都放在同一张表存储&#xff0c;宽表已经不符合三范式的模型设计规范&#xff0c;随之带来的主要坏处就是数据的大量冗…

Flink cdc+ doris 大宽表实践~

还没整理好&#xff0c;别慌。 一&#xff0c;业务问题&#xff1a; 多个表关联join&#xff08;涉及时间维度跨度很长&#xff09;&#xff0c;几乎等同于全量关联&#xff0c;这个时候flink sql join没法做&#xff0c;因为state会无线增大&#xff0c;然后OOM。 二&#xf…

实现MySQL同步数据到ES构建宽表

作者介绍 Ceven&#xff0c;德勤乐融(北京)科技有限公司 邮箱&#xff1a;likailindeqinyuerong.com 前言 CloudCanal 近期提供了自定义代码构建宽表能力&#xff0c;我们第一时间参与了该特性内测&#xff0c;效果不错。开发流程详见官方文档 《CloudCanal自定义代码实时加…

宽表:数据仓库 - “宽表”之争?

昨天在技术交流群里一个问题引发了激烈的讨论&#xff0c;我决定把它记录下来。 问题如下&#xff1a;DWD 中有宽表么&#xff1f; 作为扫盲文章&#xff0c;基础知识我们再普及一下&#xff0c;先介绍下基础相关概念。 数仓分层&#xff08;来自&#xff1a;个人理解&#xff…

Elasticseach:从微服务架构演变到大宽表思维的架构转变

序言 图示&#xff1a;Elasticsearch 在DB-Engine综合排名第8 Elasticsearch 简称"ES”, 在DB-Engine 综合排名第8&#xff0c;已经持续了相当长的时间&#xff0c;按照当下热度应该会继续保持或者上升一个名次&#xff1b;ES在多数工程师印象中最深刻可能是ELK三件套或者…

9.Flink实时项目之订单宽表

1.需求分析 订单是统计分析的重要的对象&#xff0c;围绕订单有很多的维度统计需求&#xff0c;比如用户、地区、商品、品类、品牌等等。为了之后统计计算更加方便&#xff0c;减少大表之间的关联&#xff0c;所以在实时计算过程中将围绕订单的相关数据整合成为一张订单的宽表…

数仓建模—宽表的设计

宽表的设计 高内聚低耦合 宽表是数仓里面非常重要的一块&#xff0c;数仓是分层的&#xff0c;这是技术进步和时代变化相结合的产物&#xff0c;数仓的分层式为了更好地管理数仓以及更加高效地进行数据开发。 宽表主要出现在dwd 层和报表层&#xff0c;当然有的人说dws 层也有…