XML学习基础知识归纳(一)

一、XML基本概述

(1)概念:XML是可扩展的标记语言,xml文档的后缀名为 .xml

(2)作用:用来用来传输和存储数据,不用于表现和展示数据,这点呢相比于HTML来说是不同的,HTML是用来表现数据,将数据展示到页面中去的。体现在作配置文件 ,或者充当小型数据库 ,在网络中传输数据

配置数据库

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<config>
	<dbinfo>
		<dbDriver>com.mysql.jdbc.Driver</dbDriver>
		<dbUrl>jdbc:mysql://localhost:3306/db1</dbUrl>
		<username>root</username>
		<password>root99</password>
</config>

充当数据库

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<student> 
	<stu> 
    	<id>001</id>  
    	<name>zhangsan</name>  
    	<age>20</age> 
    </stu>  
	<stu> 
    	<id>002</id>  
    	<name>lisi</name>  
    	<age>30</age> 
	</stu>  
</student>

传输数据

在网络编程中,我们或多或少接触过,例如如何实现一个简单的聊天室,基本原理是这样的,一个服务器端,多个客户端,当客户端1发送数据后,服务器端接收到数据,并且对数据进行一定的审核(是否有非法敏感字)以及格式的处理,再将数据发送到每一个客户端中。

刚开始的时候,我们一般选择使用字符串直接传递内容,但是却不是很利于程序的后期维护,而使用xml就能对后期程序的维护更加友好。

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<message id="1">
	<sender>账号1</sender>
	<getter>账号2</getter>
	<content>发送的信息</content>
    <ip>ip地址</ip>
</message>

(3)特点:与HTML相似,但是XML 标签没有被预定义。您需要自行定义标签,甚至也可以使用中文。比如:<one></one> <张三><张三>

二、XML基本使用

(1)从上面的例子可以看出,在我们创建一个.xml后缀的文件之后,文件中首先需要进行文档声明

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!--version : xml版本,必填-->
<!--encoding:xml编码 常见编码: GBK、UTF-8、ISO8859-1(不包含中文),保存时编码和设置打开时候的编码需要一致,否则会出现乱码-->
<!--standalone:是否需要依赖其他文件 yes/no-->

(2)标签的书写

标签要成对存在,要合理嵌套,注意空格和换行也会被当作内容来解析。

如果想在xml中输入特殊字符,需要对字符进行转义,因为 < 等会被当做标签。若多个字符都需要转义,则可以将这些内容存放到CDATA里面。

XML 复制代码
<![CDATA[ 内容 ]]>
相关推荐
代码山河4 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
释厄6235 小时前
AI学习层更新与跨体转移律——人类社会同构·不缺理解缺 U
人工智能·学习
小嘉丶学长9 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
小李不想当小白10 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
adinnet202613 小时前
电商客服对话知识库的自学习闭环与质量演进机制
学习
lazy H14 小时前
【计算机网络】第 13 篇:NAT 和端口映射是什么?为什么本地服务外网访问不了?
java·网络·网络协议·学习·计算机网络·408
试剂界的爱马仕15 小时前
α-Cyano-4-hydroxycinnamic acid(CHCA)用作 MALDI-TOF 基质的配制与使用
大数据·人工智能·深度学习·学习
小向是个Der15 小时前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
学网安的肆伍16 小时前
认证机制攻防学习|PortSwigger Authentication 靶场复现总结(二):用户名枚举进阶
学习·web安全·网络安全·burpsuite·portswigger·认证安全·靶场复现
海绵宝宝转agent16 小时前
Leetcode二叉树算法个人理解
笔记·学习·算法·leetcode·深度优先