XML约束和解析
文章目录
- 概述
- 使用场景
- 语法
- dtd约束
- Schema约束
- 解析
- DOM4j(重点)
概述
可扩展的标记性语言
使用场景
以前:
传输数据的媒介。
例如:微服务架构中,可以用xml文件进行多语言之间的的联系。
现在:
做配置文件
现在作为传输数据的媒介是json。
语法
- 第一排必须是声明,必须,就算是注释也不能放在第一排。
- 下面必须要有一个根标签(root tag),不能写多个跟标签,可以在根标签里面写多个标签。
- 标签可以自定义,可拓展性强,也不能随意拓展,不然就不好识别。所以就要加约束
- 属性只能写在头标签中,,在同一个标签中,属性也不能一样
- 转义符是:<[CDATA[转义的语句(里面的相当于字符串)]]>转义出去不会变的。

dtd约束
这是一个xx.dtd文件
()里面的值,也是xml中的写标签的顺序,顺序是不能改变的。
(#PCDATA)是规定必须是什么样的值

必须从大到小一层一层约束
第二行引入自己写的约束 Users是根标签名字

Schema约束
后缀是xsd.
就是xmL文件
这是一个例子,xsd文件

导入的

解析
DOM4j(重点)
D文档O对象M模型4 for j javax
支持Dom,sax,jaxp,xPath效率高些
传统的解析,效率低

xpath获取 ,比较方便

相关文章:
XML约束和解析
文章目录 概述使用场景语法dtd约束Schema约束解析DOM4j(重点) 概述 可扩展的标记性语言 使用场景 以前: 传输数据的媒介。 例如:微服务架构中,可以用xml文件进行多语言之间的的联系。 现在: 做配置文件 现在作为传输数据的媒介…...
网络层:IP协议/Mac协议
IP协议 主机: 配有IP地址, 但是不进行路由控制的设备; 路由器: 即配有IP地址, 又能进行路由控制; 节点: 主机和路由器的统 称; IP 目标网络(前半部分) 目标主机(后半部分) IP层的核心:IP地址定位主机(定…...
让你不在好奇怎么把录音转化成文字更快捷
某天,小琳参加了一场激动人心的讲座,讲座内容非常有价值,但她却发现自己没有时间做详细的笔记。小琳感到非常苦恼,因为她害怕错过任何重要的信息。就在她感到无助的时候,她的好朋友小芳建议她可以借助录音转文字技术来…...
分布式异步任务处理组件(四)
基于zookeeper的HA集群设计思路-- 各个节点都可以消费任务,但是由主节点来投票;主节点通过注册zookeeper的临时节点来选举--主节点需要同步从节点的信息正常工作机制--各个节点(包括主节点本身)在执行任务之前询问主节点…...
【C++】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值
[导读]本系列博文内容链接如下: 【C】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动 【C】【C】做一个飞机空战小游戏(三)——模块化程设设计 最近想用c做一个小游戏&#x…...
Spring项目整合策略模式~实战应用
需求背景 1、在管控流程中,涉及到的业务操作很多,不同的业务具有不同的策略实现 举个具体的例子: 在比价管控流程中,有比价策略和管控策略,每个业务的比价和管控均不一样。因此使用策略模式来开发 整体架构流程 1、…...
mybatis PageHelper的坑---记录
记录下,自己新开了一个kotlin的项目从而替换java项目,同时升级了部分组件,包括pageHelper,以往代码里有动态sql的配置 //通过不为null的属性查找数据 val tmpResult: List<Map<String?, Any?>> sqlSessionTemplat…...
uniapp微信小程序下载文件并打开
uni.downloadFile({url: 下载的地址,success(res) {console.log(res)if (res.statusCode 200) {console.log(下载成功);var filePath encodeURI(res.tempFilePath);uni.openDocument({filePath: filePath,fileType: "xlsx",showMenu: true,success: function(res) …...
安卓Intent打开系统进程汇总
1:拨打电话 val uri Uri.parse("tel:10086")val intent Intent(Intent.ACTION_DIAL,uri)startActivity(intent) 2:发送短信 val smsUri Uri.parse("smsto:10086")val intent1 Intent(Intent.ACTION_SENDTO,smsUri)intent1.putE…...
python学习(廖雪峰的官方网站部分,自学笔记)
python学习 廖雪峰的官方网站强烈推荐 字符串 Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符 ord( )先当与把字符转成整形,chr( ) 把编码转化成相应的字符 有些时候,字符串里面的%是一个普通字符怎么办&…...
python题-检查该字符串的括号是否成对出现
给定一个字符串,里边可能包含“()”、"{}"两种括号,请编写程序检查该字符串的括号是否成对出现。 输出: true:代表括号成对出现并且嵌套正确,或字符串无括号字符。 false:未正确使用括号字符。 …...
3ds Max建模教程:模拟布料拖拽撕裂和用剑撕裂两种效果
推荐: NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景 1. 拖拽撕布 步骤 1 打开 3ds Max。 打开 3ds Max 步骤 2 在透视视口中创建平面。保持其长度 后座和宽度后座为 100。 创建平面 步骤 3 转到助手>假人并在 飞机的两侧。 助手>假人 步骤 4 选…...
数据可视化(4)散点图及面积图
1.简单散点图 #散点图 #scatter(x,y) x数据,y数据 x[i for i in range(10)] y[random.randint(1,10) for i in range(10)] plt.scatter(x,y) plt.show()2.散点图分析 #分析广告支出与销售收入相关性 dfcarpd.read_excel(广告支出.xlsx) dfdatapd.read_excel(销售…...
Redis - 数据过期策略
Redis提供了两种数据过期策略 惰性删除 和 定期删除 惰性删除 当某个key过期时,不马上删除,而是在调用时,再判断它是否过期,如果过期再删除它 优点 : 对CPU友好,对于很多用不到的key,不用浪费…...
英文论文(sci)解读复现:基于YOLOv5的自然场景下苹果叶片病害实时检测
对于目标检测算法改进,但是应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的SCI论文,并对…...
【Liux下6818开发板(ARM)】实现简易相册
(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…...
Kubernetes(K8s)从入门到精通系列之六:K8s的基本概念和术语之存储类
Kubernetes K8s从入门到精通系列之六:K8s的基本概念和术语之存储类 一、存储类二、emptyDir三、hostPath四、公有云Volume五、其他类型的Volume六、动态存储管理一、存储类 存储类的资源对象主要包括: VolumePersistent VolumePVCStorageClass基础的存储类资源对象——Volum…...
Spark-统一内存模型
总结: Spark的内存模型分为4部分,分别是存储内存,计算内存,其他内存,预留内存; 其中存储内存和计算内存可以动态占用,当己方内存不足对方空余则可占用对方的内存,计算内存被存储内…...
类的继承和super关键字的使用(JAVA)
继承 所有的OOP语言都会有三个特征: 封装(点击可跳转);继承;多态 为什么会有继承呢?可以先看下面的例子: 上面这两个类中的代码很相似因为它们只有最后一个方法不同其它的都相同,这样…...
BGP属性+选路规则
目录 一,BGP的属性—基础属性 1.PrefVal 2.LocPrf 3、优先本地下一跳 (NextHop) 4、AS-PATH 5、起源属性 6、MED -多出口鉴别属性 二,BGP选路规则 三,BGP的社团属性 一,BGP的属性—基础…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
