XML学习

XML学习

  • 1 XML介绍
  • 2 XML语法
  • 3 XML特殊字符
  • 4 XML文档结构
  • 5 XML命名空间

1 XML介绍

XML是可扩展的标记性语言,常用来传输和存储数据。可见于Web中的web.xml和Maven中的pom.xml
在这里插入图片描述
在这里插入图片描述
version是版本,encoding是编码

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

2 XML语法

  • 标签可以包含字母、数字以及其他字符
  • 标签不能以数字或者标点符号开头
  • 标签不能包含空格
  • 标签对大小写敏感
  • XML属性值必须加引号,即使是数字
  • XML必须且只能包含一个根元素,它是所有其他元素的父元素

以下实例中root是根元素

<?xml version="1.0" encoding="UTF-8"?>
<root><child><subchild>.....</subchild></child>
</root>

3 XML特殊字符

字符XML表示
&&amp;
<&lt;
>&gt;
"&quot;
&apos;

注:可以用特殊标签<![CDATA[ 内容]],内容会被当作文本,不会被XML解析

<?xml version="1.0" encoding="UTF-8"?>
<root><name>&lt;XML学习&gt;</name><name><![CDATA[<XML学习>]]></name>
</root>

在这里插入图片描述

4 XML文档结构

XML 文档形成了一种树结构,它从"根部"开始,然后扩展到"枝叶"。

<?xml version="1.0" encoding="UTF-8"?>
<bookstore><book category="COOKING"><title lang="en">Everyday Italian</title><author>Giada De Laurentiis</author><year>2005</year><price>30.00</price></book><book category="CHILDREN"><title lang="en">Harry Potter</title><author>J K. Rowling</author><year>2005</year><price>29.99</price></book><book category="WEB"><title lang="en">Learning XML</title><author>Erik T. Ray</author><year>2003</year><price>39.95</price></book>
</bookstore>

在这里插入图片描述

5 XML命名空间

当两个不同的文档使用相同的元素名时,就会发生命名冲突,可以通过命名空间避免这种冲突。当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。
命名空间声明的语法为:xmlns:前缀=“URI”(URI同前缀一起标识一个命令空间,可能前缀会相同,但是URI一般不同)

如下代码中book标签的title和author标签的title重复,程序可能不能区分这两个title

<book><title>西游记</title><author><name>吴承恩</name><title>先生</title></author>
</book>

可以通过命令空间加以区分

<b:book xmlns:b="http://www.atguigu.com/xml/b"xmlns:a="http://www.atguigu.com/xml/a"><b:title>西游记</b:title><a:author><a:name>吴承恩</a:name><a:title>先生</a:title></a:author>
</b:book>

此外,命令空间可以不加前缀,表示默认的命名空间,一个XML文档只能有一个默认的命名空间

<book xmlns="http://www.atguigu.com/xml/b"xmlns:a="http://www.atguigu.com/xml/a"><title>西游记</title><a:author><a:name>吴承恩</a:name><a:title>先生</a:title></a:author>
</book>

xmlns:xsi 与 xsi:schemaLocation

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--配置User对象创建--><bean id="user" class="springstudy.User"></bean>
</beans>

xsi是一个业界默认的用于获得xsd文件的命名空间,而xsd用于定义xml文档结构,xsi:schemaLocation = “键” “值”,“键”指代一个命名空间,“值”为该命名空间下的xsd文件的地址,必须存在
如图中键为http://www.springframework.org/schema/beans中可以找到值为http://www.springframework.org/schema/beans/spring-beans.xsd的文件
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/470105.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[数学建模] 计算差分方程的收敛点

[数学建模] 计算差分方程的收敛点 差分方程&#xff1a;差分方程描述的是在离散时间下系统状态之间的关系。与微分方程不同&#xff0c;差分方程处理的是在不同时间点上系统状态的变化。通常用来模拟动态系统&#xff0c;如在离散时间点上更新状态并预测未来状态。 收敛点&…

【Windows】常用快捷键

文章目录 文本编辑相关快捷键窗口管理和操作系统快捷键浏览器快捷键其他常用快捷键系统无响应快捷键 快捷键&#xff1a;shortcut key、keyboard shortcuts。 文本编辑相关快捷键 这部分是非常常用的内容&#xff0c;在很多编辑器中都适用的&#xff0c;比如csdn的markdown和t…

(14)Hive调优——合并小文件

目录 一、小文件产生的原因 二、小文件的危害 三、小文件的解决方案 3.1 小文件的预防 3.1.1 减少Map数量 3.1.2 减少Reduce的数量 3.2 已存在的小文件合并 3.2.1 方式一&#xff1a;insert overwrite (推荐) 3.2.2 方式二&#xff1a;concatenate 3.2.3 方式三&#xff…

消息队列RabbitMQ-使用过程中面临的问题与解决思路

消息队列在使用过程中会出现很多问题 首先就是消息的可靠性&#xff0c;也就是消息从发送到消费者接收&#xff0c;消息在这中间过程中可能会丢失 生产者到交换机的过程、交换机到队列的过程、消息队列中、消费者接收消息的过程中&#xff0c;这些过程中消息都可能会丢失。 …

comfyui换脸学习笔记

目录 Portrait Maker ComfyUI_Lam 人脸融合方案&#xff1a; 圣诞写真工作流 IPadapter faceID/faceID plus/faceID plusV2/Reactor换脸效果对比来 Portrait Maker 核心用的是 EasyPhoto ComfyUI_Lam 人脸融合方案&#xff1a; demo效果还可以&#xff0c;真实效果不是很稳…

RabbitMQ配置消息转换器

1. 默认转换器 Test public void testSendMap() throws InterruptedException {// 准备消息Map<String, Object> msg new HashMap<>();msg.put("name", "harry");msg.put("age", 21);// 发送消息rabbitTemplate.convertAndSend(&q…

【C++】const、static关键字和构造函数初始化

&#x1f497;个人主页&#x1f497; ⭐个人专栏——C学习⭐ &#x1f4ab;点击关注&#x1f929;一起学习C语言&#x1f4af;&#x1f4ab; 目录 1. const修饰成员函数 1.1 语法格式 1.2 权限放大缩小 1.3 思考 1.4 解答 2. 再谈构造函数 2.1 构造函数体赋值 2.2 初始…

解决:RuntimeError: shape ‘[1, 3, 32, 32]‘ is invalid for input of size 4096

报错&#xff1a; 原因&#xff1a; 因为我下载的图片是4通道的&#xff1a;通过下面打印出来的结果可知是RGBA四通道的。 解决方法&#xff1a; 但是网络的输入需要RGB三通道&#xff0c;因此需要使用下列方法进行转换&#xff1a; image_path "../imgs/dog.png"…

一键式开发工具包,直接帮你安装好所有开发环境

一键式开发工具&#xff0c;你值得拥有 下载老环境说明新环境说明公共环境说明 使用 我之前一直有一个想法&#xff0c;就是有一个虚拟机环境&#xff0c; 里面装好了我所需要的所有开发环境&#xff08;Java开发、Python、前端等&#xff09; 这样的话我本地就不需要安装好多好…

算法学习——LeetCode力扣回溯篇4

算法学习——LeetCode力扣回溯篇4 332. 重新安排行程 332. 重新安排行程 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票…

SpringMVC-入门

1.概念 SpringMVC是一种软件架构思想&#xff0c;把软件按照模型(Model)、视图(View)、控制器(Controller)这三层来划分。Model&#xff1a;指的是工程中JavaBean&#xff0c;用来处理数据View&#xff1a;指的是工程中的html、jsp等页面&#xff0c;用来展示给用户数据Control…

vue3 之 商城项目—结算模块

路由配置 chekout/index.vue <script setup> const checkInfo {} // 订单对象 const curAddress {} // 地址对象 </script> <template><div class"xtx-pay-checkout-page"><div class"container"><div class"w…