当前位置: 首页 > news >正文

XML约束和解析

文章目录

  • 概述
  • 使用场景
  • 语法
  • dtd约束
  • Schema约束
  • 解析
    • DOM4j(重点)

概述

可扩展的标记性语言

使用场景

以前:
传输数据的媒介。
例如:微服务架构中,可以用xml文件进行多语言之间的的联系。
现在:
做配置文件
现在作为传输数据的媒介是json。

语法

  1. 第一排必须是声明,必须,就算是注释也不能放在第一排。
  2. 下面必须要有一个根标签(root tag),不能写多个跟标签,可以在根标签里面写多个标签。
  3. 标签可以自定义,可拓展性强,也不能随意拓展,不然就不好识别。所以就要加约束
  4. 属性只能写在头标签中,,在同一个标签中,属性也不能一样
  5. 转义符是:<[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&#xff08;重点&#xff09; 概述 可扩展的标记性语言 使用场景 以前: 传输数据的媒介。 例如&#xff1a;微服务架构中&#xff0c;可以用xml文件进行多语言之间的的联系。 现在: 做配置文件 现在作为传输数据的媒介…...

网络层:IP协议/Mac协议

IP协议 主机: 配有IP地址, 但是不进行路由控制的设备; 路由器: 即配有IP地址, 又能进行路由控制; 节点: 主机和路由器的统 称; IP 目标网络&#xff08;前半部分&#xff09; 目标主机&#xff08;后半部分&#xff09; IP层的核心&#xff1a;IP地址定位主机&#xff08;定…...

让你不在好奇怎么把录音转化成文字更快捷

某天&#xff0c;小琳参加了一场激动人心的讲座&#xff0c;讲座内容非常有价值&#xff0c;但她却发现自己没有时间做详细的笔记。小琳感到非常苦恼&#xff0c;因为她害怕错过任何重要的信息。就在她感到无助的时候&#xff0c;她的好朋友小芳建议她可以借助录音转文字技术来…...

分布式异步任务处理组件(四)

基于zookeeper的HA集群设计思路-- 各个节点都可以消费任务&#xff0c;但是由主节点来投票&#xff1b;主节点通过注册zookeeper的临时节点来选举--主节点需要同步从节点的信息正常工作机制--各个节点&#xff08;包括主节点本身&#xff09;在执行任务之前询问主节点&#xf…...

【C++】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值

[导读]本系列博文内容链接如下&#xff1a; 【C】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动 【C】【C】做一个飞机空战小游戏(三)——模块化程设设计 最近想用c做一个小游戏&#x…...

Spring项目整合策略模式~实战应用

需求背景 1、在管控流程中&#xff0c;涉及到的业务操作很多&#xff0c;不同的业务具有不同的策略实现 举个具体的例子&#xff1a; 在比价管控流程中&#xff0c;有比价策略和管控策略&#xff0c;每个业务的比价和管控均不一样。因此使用策略模式来开发 整体架构流程 1、…...

mybatis PageHelper的坑---记录

记录下&#xff0c;自己新开了一个kotlin的项目从而替换java项目&#xff0c;同时升级了部分组件&#xff0c;包括pageHelper&#xff0c;以往代码里有动态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&#xff1a;拨打电话 val uri Uri.parse("tel:10086")val intent Intent(Intent.ACTION_DIAL,uri)startActivity(intent) 2&#xff1a;发送短信 val smsUri Uri.parse("smsto:10086")val intent1 Intent(Intent.ACTION_SENDTO,smsUri)intent1.putE…...

python学习(廖雪峰的官方网站部分,自学笔记)

python学习 廖雪峰的官方网站强烈推荐 字符串 Python提供了ord()函数获取字符的整数表示&#xff0c;chr()函数把编码转换为对应的字符 ord( )先当与把字符转成整形&#xff0c;chr( ) 把编码转化成相应的字符 有些时候&#xff0c;字符串里面的%是一个普通字符怎么办&…...

python题-检查该字符串的括号是否成对出现

给定一个字符串&#xff0c;里边可能包含“()”、"{}"两种括号&#xff0c;请编写程序检查该字符串的括号是否成对出现。 输出&#xff1a; true&#xff1a;代表括号成对出现并且嵌套正确&#xff0c;或字符串无括号字符。 false&#xff1a;未正确使用括号字符。 …...

3ds Max建模教程:模拟布料拖拽撕裂和用剑撕裂两种效果

推荐&#xff1a; NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景 1. 拖拽撕布 步骤 1 打开 3ds Max。 打开 3ds Max 步骤 2 在透视视口中创建平面。保持其长度 后座和宽度后座为 100。 创建平面 步骤 3 转到助手>假人并在 飞机的两侧。 助手>假人 步骤 4 选…...

数据可视化(4)散点图及面积图

1.简单散点图 #散点图 #scatter(x,y) x数据&#xff0c;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过期时&#xff0c;不马上删除&#xff0c;而是在调用时&#xff0c;再判断它是否过期&#xff0c;如果过期再删除它 优点 &#xff1a; 对CPU友好&#xff0c;对于很多用不到的key&#xff0c;不用浪费…...

英文论文(sci)解读复现:基于YOLOv5的自然场景下苹果叶片病害实时检测

对于目标检测算法改进&#xff0c;但是应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读发表高水平学术期刊中的SCI论文&#xff0c;并对…...

【Liux下6818开发板(ARM)】实现简易相册

(꒪ꇴ꒪ ),hello我是祐言博客主页&#xff1a;C语言基础,Linux基础,软件配置领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff01;送给读者的一句鸡汤&#x1f914;&#xff1a;集中起来的意志可以击穿顽石!作者水平很有限&#xff0c;如果发现错误&#x…...

Kubernetes(K8s)从入门到精通系列之六:K8s的基本概念和术语之存储类

Kubernetes K8s从入门到精通系列之六:K8s的基本概念和术语之存储类 一、存储类二、emptyDir三、hostPath四、公有云Volume五、其他类型的Volume六、动态存储管理一、存储类 存储类的资源对象主要包括: VolumePersistent VolumePVCStorageClass基础的存储类资源对象——Volum…...

Spark-统一内存模型

总结&#xff1a; Spark的内存模型分为4部分&#xff0c;分别是存储内存&#xff0c;计算内存&#xff0c;其他内存&#xff0c;预留内存&#xff1b; 其中存储内存和计算内存可以动态占用&#xff0c;当己方内存不足对方空余则可占用对方的内存&#xff0c;计算内存被存储内…...

类的继承和super关键字的使用(JAVA)

继承 所有的OOP语言都会有三个特征&#xff1a; 封装&#xff08;点击可跳转&#xff09;&#xff1b;继承&#xff1b;多态 为什么会有继承呢&#xff1f;可以先看下面的例子&#xff1a; 上面这两个类中的代码很相似因为它们只有最后一个方法不同其它的都相同&#xff0c;这样…...

BGP属性+选路规则

目录 一&#xff0c;BGP的属性—基础属性 1.PrefVal 2.LocPrf 3、优先本地下一跳 &#xff08;NextHop&#xff09; 4、AS-PATH 5、起源属性 6、MED -多出口鉴别属性 二&#xff0c;BGP选路规则 三&#xff0c;BGP的社团属性 一&#xff0c;BGP的属性—基础…...

量子电路仿真加速器QEA的FPGA实现与优化

1. 量子电路仿真加速器的核心挑战与现状量子计算正在重塑我们对计算能力的认知边界。作为一名长期从事高性能计算与量子仿真研究的工程师&#xff0c;我见证了量子仿真技术从理论探索到工程实现的完整历程。量子电路仿真作为验证量子算法正确性的关键技术&#xff0c;其核心痛点…...

用TensorFlow 2.0复现Mask R-CNN:从ResNet主干到ROI Align的保姆级代码解读

TensorFlow 2.0实现Mask R-CNN核心技术解析&#xff1a;从ResNet到ROI Align的工程实践 在计算机视觉领域&#xff0c;实例分割一直是最具挑战性的任务之一。它不仅需要精确地定位物体&#xff0c;还要在像素级别上区分不同实例。本文将深入探讨如何用TensorFlow 2.0实现Mask R…...

DIY蓝牙游戏手柄:基于Arduino与Cherry MX轴体的全流程制作指南

1. 项目概述与核心思路几年前&#xff0c;我在折腾机械键盘时&#xff0c;看着手边多出来的几颗Cherry MX轴体&#xff0c;突然冒出一个想法&#xff1a;这些清脆、精准的触发单元&#xff0c;除了在键盘上噼里啪啦&#xff0c;能不能变成更直接的操控工具&#xff1f;比如&…...

基于BLE与CircuitPython的无线8-bit音乐合成器DIY全攻略

1. 项目概述与核心思路想不想亲手做一个能揣在口袋里&#xff0c;随时随地弹奏出复古8-bit音乐的小玩意儿&#xff1f;不是那种手机App模拟的&#xff0c;而是实实在在的、有物理按键、能无线连接、还会发光的小合成器。今天分享的这个项目&#xff0c;就是基于两块小巧但功能强…...

思源宋体TTF终极指南:7种字重解决中文排版所有难题

思源宋体TTF终极指南&#xff1a;7种字重解决中文排版所有难题 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是否在为中文项目寻找完美的开源字体而烦恼&#xff1f;商业字体价格昂…...

Synabun:Node.js 高可靠 HTTP 请求策略引擎详解

1. 项目概述&#xff1a;一个被低估的HTTP请求库如果你经常在Node.js环境下处理HTTP请求&#xff0c;大概率用过axios、node-fetch或者原生的http模块。这些工具各有优劣&#xff0c;但当你需要处理复杂的重试逻辑、精细的速率限制、或者想在一个统一的接口下管理多种请求策略时…...

3PEAK思瑞浦 TPA1811-SO1R SOP8 运算放大器

特性 供电电压:4伏至30伏 低功耗:25C时为55安培(典型值) 低偏移电压:25C时最大8V 零漂:0.01V/C 轨到轨输出 增益带宽积:500kHz 斜率:0.3V/us...

Aseprite插件AseIcoExport:一键生成Windows与macOS应用图标

1. 项目概述&#xff1a;一个被低估的图标导出工具如果你是一个独立开发者&#xff0c;或者在一个小团队里负责UI/UX设计到前端实现的完整链路&#xff0c;那你一定对“图标导出”这个环节又爱又恨。爱的是&#xff0c;一个精心设计的图标集能让产品界面瞬间提升质感&#xff1…...

Android自动化测试代理droidrun-agent:原理、实现与工程实践

1. 项目概述&#xff1a;一个面向Android应用的自动化测试代理在移动应用开发与测试领域&#xff0c;自动化测试是保障应用质量、提升迭代效率的核心环节。对于Android平台&#xff0c;虽然官方提供了Espresso、UI Automator等成熟的测试框架&#xff0c;但在面对复杂业务场景、…...

零门槛云端实时物体识别:基于Google Colab与MobileNet V2的实践指南

1. 项目概述&#xff1a;零门槛体验云端实时物体识别想亲手体验一下人工智能的“眼睛”是如何看世界的吗&#xff1f;物体识别&#xff0c;这个听起来高深莫测的技术&#xff0c;其实离我们并不遥远。它就像是给计算机装上了一套视觉系统&#xff0c;让它能像我们一样&#xff…...