XML教学视频(黑马程序员精讲 XML 知识!)笔记
第一章XML概述
1.1认识XML
XML数据格式:

不是html但又和html有点相似
XML数据格式最主要的功能就是数据传输(一个服务器到另一个服务器,一个网站到另一个网站)配置文件、储存数据当做小型数据可使用、规范数据格式让数据具有结构性易读易处理
1.2什么是xml
定义:指的是可扩展性标记语言;
XML被发明的目的是传输和存储数据,而不是展示数据;
XML的标签必须自定义,但是在写标签名的时候一定有含义;
XML是W3C推举的数据传输格式;
Q:如何自己写一个XML?


Q:XML和HTML有什么不一样?
- HTML不能自定义,XML标签必须自定义;
- HTML语法要求不严格,XML语法要求及其严格,必须是成对标签;
- XML用来传输和存储,HTML用来展示数据;
第二章 XML基本语法
2.1语法规则
XML必须有根结点;根结点是其他所有节点的父级节点

XML头声明不强制要求,可有可无,但是建议写
XML头声明 <版本号 文件编码>

所有XML元素都必须是成对标签;

标签大小写敏感,区分大小写

标签不能交叉编写

注释和HTML一样

特殊字符使用实体转义;

![]()

2.2元素属性

属性规则:
一个标签可以有多个属性,属性的值必须用引号(单引号、双引号)引起来;
命名规则:数字字母下划线,数字不能开头
属性是表示标签自身的一些额外信息;
XML属性就是鸡肋(是指无用弃之可惜);
还有在解析XML数据时,属性会带来额外的解析代码(多了一步,比较麻烦)
2.3CDATA

注意:特殊字符较少时,使用实体替换;较多时使用CDATA;CDATA必须大写;
第三章 使用PHP解析XML文档
XML是一种数据传输格式,当PHP接收到的数据是一段XML时,PHP怎么处理XML数据呢?
在PHP5版本以后。提供了类库,SimpleXML类库,专门用于实现对XML文档的解析操作
3.1XML解析原理
PHP解析XML分为3步:
- 读取XML文档到内存;
- 形成DOM树;
- 由DOM树生成对象并返回

3.2SimpleXML类库


php解析xml返回对象的注释:

3.3遍历XML数据
不可缺少的:

foreach循环获取xml数据

for循环获取xml数据

3.4使用SimpleXML添加结点
不可缺少的:

对象中的addChild方法创建结点
添加man结点

对象中的addChild方法创建结点并给创建后的结点添加内容
给man标签添加子标签-name标签,age标签

将添加后的对象重新解析成xml文档,写入文件
添加的内容保存到xml文件里

3.5XM案例
获取到xml文件地址

直接接收xml内容(里面是string)而不是文件地址

使用方式:

打印输出内容:

完整案例:
Html部分(表单提交页面)

Php部分:

第四章 XPATH语言
4.1概述
XPath是一门专门用来查找XML数据内容的一门语言;
用来在XML文档中对元素及属性进行遍历;
4.2使用及语法
使用绝对路径查找:

使用相对路径查找:
(叫name下的所有内容)

使用*匹配所有结点

条件查找

相关文章:
XML教学视频(黑马程序员精讲 XML 知识!)笔记
第一章XML概述 1.1认识XML XML数据格式: 不是html但又和html有点相似 XML数据格式最主要的功能就是数据传输(一个服务器到另一个服务器,一个网站到另一个网站)配置文件、储存数据当做小型数据可使用、规范数据格式让数据具有结…...
自定义组件实现v-model
要使自定义的Vue组件支持v-model,需要实现一个名为value的prop和一个名为input的事件。在组件内部,将value prop 绑定到组件的内部状态,然后在对内部状态进行修改时触发input事件。 自定义UI组件 <template><input :value"va…...
【自动驾驶】Free space与Ray casting
文章目录 1 Free space是什么2 Ray casting是什么3 它俩啥关系4 TODO 1 Free space是什么 在自动驾驶领域,free space即可行驶区域,在结构化道路的十字路口/非结构化道路都有很大作用。 2 Ray casting是什么 ray casting是计算机视觉领域,…...
RHCE---正则表达式
文章目录 目录 文章目录 前言 一. 文本搜索工具 二.正则表达式 元字符 ^行首与$行尾 点(.) 与星号(*) 扩展正则 总结 前言 正则表达式是文本三剑客中及其重要的一环,称之为灵魂也不为过,到底什么是正则表达式呢,让我们一起来了解以下…...
3D RPG Course | Core 学习日记一:初识URP
前言 最近开始学习Unity中文课堂M_Studio(麦大)的3D RPG Course,学习一下3D RPG游戏核心功能的实现,第一课我们学习到的是地图场景的编辑,其中涉及到了URP渲染。 我们首先进入Unity资源商店把地图素材和人物素材导入好…...
Spring Cloud 之RabbitMQ的学习【详细】
服务通信 分布式系统通信两种方式: 直接远程调用(同步)借助第三方间接通信(异步) 同步通讯的问题 Feign就属于同步通讯。存在的如下问题 耦合度高,每次添加新的模块就要修改原有模块的代码性能下降&am…...
第五章 I/O管理 六、I/O核心子系统
目录 一、核心子系统 1、I/O调度 2、设备保护 二、假脱机技术 1、脱机: 2、假脱机(SPOOLing技术): 3、应用: 1.独占式设备: 2.共享设备: 4、共享打印机原理分析 三、总结 一、核心子系…...
winfrom窗体比例缩放
用于控件大小随窗体大小等比例缩放的C#代码。该代码可以在窗体重载中使用,以确保窗体中的控件在窗体大小改变时能够按比例缩放。 SetTag方法:该方法用于设置控件的Tag属性,以存储控件的宽度、高度、左边距、顶边距和字体大小等信息。SetCont…...
宇信科技:强势行业加速融入AIGC,同时做深做细
【科技明说 | 重磅专题】 大家可能没有想到,一向对外低调行事的宇信科技,在AIGC方面2023年就已经训练出了适配金融场景的垂直模型,并应用到了各产品线上,同时结合通用大模型预研了宇信金融系统编程大模型。宇信金融系…...
Google Play上的Android广告软件应用程序积累了200万次安装
大家好,今天我们要聊一聊Google Play上的一个热门话题——Android广告软件应用程序。最近,一些恶意应用程序在Google Play上累积了200万次的安装量,给用户推送了讨厌的广告,同时又隐藏了它们在受感染设备上的存在。 根据Doctor W…...
算法通关村第四关-黄金挑战栈的经典问题
括号匹配问题 描述 : 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有…...
前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验
🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 ⭐ 专栏简介 📘 文章引言 一、前…...
想翻译pdf文档,试了几个工具对比:有阿里(完全免费,快,好用,质量高,不用注册登录)道最好(有限免费) 百度(有限免费)和谷歌完全免费(网不好)
文档翻释作为基础设施,工作必备。 阿里 (完全免费,快,好用,质量高,不用注册登录,无广告)我给满分 https://translate.alibaba.com/#core-translation 先选好语言。 Google(完全免…...
c# .net linux ImageSharp+FastDFS+Base64上传图片,压缩图片大小,图像处理dcoker中使用也可以
.net 以前是用System.Drawing来处理图片,但是在dcoker 、linux上用不了 微软官方推荐用 1、SkiaSharp 如果项目运行到docker里,需要NUGET安装SkiaSharp.NativeAssets.Linux.NoDependencies 注意:如果你同时引用SkiaSharp.NativeAssets.Li…...
Flutter FittedBox
🔥 英文单词FittedBox 🔥 Fitted 通过有道翻译如下 : Box 通过有道翻译如下 : 对 FittedBox 的理解 我们可以将 FittedBox 理解为合适的盒子,将其它布局放到FittedBox这样一个盒子中,从而实现 盒子里面的…...
亚信科技:发挥自我优势深入AIGC,并购整合高瞻远瞩致力未来路
【科技明说 | 重磅专题】 亚信科技在IT提供商领域中是一个低调的前行者,在全球通信及大型企业市场中扮演着重要的角色。对于近年来如火如荼AI方面的投入与研究,亚信科技是否也很重视呢? 事实上,是肯定的回答。 在我看…...
【设计模式】第17节:行为型模式之“解释器模式”
一、简介 解释器模式为某个语言定义它的语法(或者叫文法)表示,并定义一个解释器用来处理这个语法。 二、适用场景 领域特定语言复杂输入解释可扩展的语言结构 三、UML类图 四、案例 对输入的特定格式的打印语句进行解析并执行。 packag…...
各传输介质详细知识点
一.百兆网传输介质 快速以太网(802.3u) 100Base-T2 电缆:2对3类UTP 最大段长:100m 特性阻抗:100 100Base-T4 电缆:4对3类UTP 最大段长:100m 特点:8B/6T,NRZ编码 特性阻抗:1…...
历史随想随记
古往今来所有的王侯将相如不都成为人们茶余饭后的笑谈,一个人无论多么厉害,多么聪明,多么奸诈,多么有权势,他们都逃不出一个结局——死亡,我觉得这是人生最大的悲哀。看历史看的多了,就会发现这…...
ClickHouse Java多个参数的UDF编写
一、环境版本 环境版本docker clickhouse22.3.10.22 docker pull clickhouse/clickhouse-server:22.3.10.22二、XML配置 2.1 配置文件 # 创建udf配置文件 vim /etc/clickhouse-server/demo_function.xml<functions><function><type>executable</type&…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
