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[ 内容 ]]>
相关推荐
云水一下44 分钟前
零基础玩转bWAPP靶场(三十一):XML/XPath 注入(搜索)
xml·web安全·bwapp
艾莉丝努力练剑1 小时前
【Linux:动静态库】Linux 动静态库与可执行文件
linux·运维·服务器·学习·面试·文件系统·动静态库
宁风NF1 小时前
JavaScript:内存、垃圾回收、性能优化
开发语言·前端·javascript·学习·性能优化·es6
编程圈子2 小时前
电机驱动开发学习22. 霍尔电角度标定(自动/手动标定与Flash固化)
驱动开发·学习
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(26):Infini Memory——将长期记忆维护成可读写的主题文档
论文阅读·人工智能·学习·开源·github
正经人_x3 小时前
学习日记46:LISA: Reasoning Segmentation via Large Language Model
人工智能·学习·语言模型
神龙天舞20014 小时前
CMake构建学习笔记-通用的CMake构建脚本
笔记·学习
一只小菜鸡..5 小时前
南京大学 操作系统 (JYY) 学习笔记:并发 Bug 的地狱——数据竞争、死锁与原子性违反
笔记·学习·bug
似的83512 小时前
一步一步学习使用FireMonkey动画() 使用TAnimator类创建动画
linux·学习·nginx
fanged13 小时前
总线学习3--SPI番外(TODO)
学习