day08-XML

XML官方文档:https://www.w3school.com.cn/xml/index.asp
1.为什么需要xml?

  1. 需求1:两个程序间进行数据通信?
  2. 需求2:给一台服务器,做一个配置文件,当服务器程序启动时,去读取它应当监听的端口号、还有连接数据库的用户名和密码
  3. spring中的IOC配置文件beans.xml,mybatis的xxxMapper.xml文件,tomcat的server.xml,web.xml文件
  4. xml能存储复杂的数据关系
? xml技术用于解决什么问题?
  • 解决程序间数据传输的问题:
    比如qq之间的数据传送,用xml格式来传输数据,具有良好的可读性,可维护性
    以前两个程序间的通信用xml作为数据通信的格式,现在一般用json
  • xml可以做配置文件
    xml做配置文件可以说是非常的普遍,比如我们的tomcat服务器的server.xml web.xml
  • xml可以充当小型的数据库
    我们程序中可能用到的数据,如果放在数据库中读取不合适(因为你要增加维护数据库工作),可以考虑直接用xml文件来做小型数据库,而且直接读取文件显然要比读取数据库快
    现在也不太使用xml作数据存储了
2.xml语法
  • 快速入门
需求:使用idea创建Students.xml存储多个学生信息
<?xml version="1.0" encoding="UTF-8" ?><!--1.xml:表示该文件的类型为xml2.version 表示版本3.encoding="UTF-8" 文件编码为UTF-84.students:root元素/根元素,名字自己定义5.<student> </student>表示一个students的子元素,可以有多个6.id就是属性,name,age,gender是student元素的子元素--><students><student id="100"><name>jack</name><age>10</age><gender>男</gender></student><student id="200"><name>Mary</name><age>18</age><gender>女</gender></student></students>
  • 一个xml文档分为如下几部分内容
    • 文档声明
    • 元素
    • 属性
    • 注释
    • CDATA区、特殊字符
2.1文档声明<?xml version="1.0" encoding="UTF-8" ?>
  1. xml声明放在xml文档的第一行
  2. xml声明由以下几个部分组成:
    • version:文档符合xml1.0规范,我们学习1.0
    • encoding:文档字符编码,比如:utf-8
2.2元素
  1. 元素语法要求:
  • 每个xml文档必须有且只有一个根元素
  • 根元素是一个完全包括文档中其他所有元素的元素
  • 根元素的起始标记要放在所有其他元素的起始标记之前
  • 根元素的结束标记要放在所有其他元素的结束标记之后
  1. xml元素指xml文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式
  • 包含标签体:<a>www.baidu.com</a>
  • 不含标签体:<a></a>,简写为<a/>
  • 一个标签中也可以嵌套若干子标签 。但所有的标签必须合理地嵌套,绝对不允许交叉嵌套
  1. 在很多时候,元素,节点,标签是相同的意思
  2. xml元素命名规则:
    • 区分大小写,例如:<P><p>是两个不同的标记
    • 不能以数字开头
    • 不能包含空格
    • 名称中间不能包含冒号:
    • 如果标签单词需要间隔,建议使用下划线
2.3属性属性介绍:
  1. 属性值用双引号""或单引号''分隔(如果属性值中有单引号'',就用双引号""分隔,如过属性值中有双引号"",就用单引号''分隔)

    经验总结扩展阅读