XML介绍与使用及简单注解
1.XML文件
1.1 概述
概念:XML是一种可扩展的标记语言.也就是说,XML是一种可以自己定义标签的标签语言.他所有的标签全是由自己定义. 作用:xml作为配置文件,用来存储配置信息,其存储的信息更有层级感,更能表示复杂内容.
1.2 文档声明
格式:<?xml version="1.0" encoding="UTF-8"?> 解析:version :当前xml的版本,必须有,且必须是"1.0"encoding:当前xml的编码方式. 一般为"UTF-8" 注意:1.任何xml文件都必须有文档声明2.文档声明必须放在xml文件的第一行第一列.
1.3 语法规则
1.XML中的标签必须有开始,有结束. 2.XML中的标签必须正确嵌套. 3.XML标签中的属性值一定要用引号引起来(单双都可以) 4.XML中标签区分大小写 5.XML中有且仅有一个跟标签
1.4 特殊字符
直接书写:< 小于号 > 大于号& &符号' 单引号 " 双引号 空格 CDATA区:<![CDATA[ 直接在这里书写任何内容,都是直接输出 ]]>
2.XML解析
2.1 解析方式
DOM解析:Document Object Model.一次性将文档的所有元素都加载到内存中.可以对整个文档进行"增删改查"操作. SAX解析:Simple Api for XML.事件驱动的方式,一次加载并解析一行代码.只能对文档进行"查询"工作
2.2 相关对象
Doucment: 代表整个xml文件(整个xml文档) Element: 代表每个标签 Attribute: 代表标签上的属性 Text: 代表的是标签中间的文本
2.3 解析步骤
① 导入jar包
dom4j-1.6.1.jar //当前解析使用的是"dom4J"解析工具
② 开始解析
public class TestDemo {public static void main(String[] args) throws Exception {//1.创建一个解析器SAXReader saxReader = new SAXReader();//2.告诉解析器,要解析的文件是谁,返回要解析的文档Document document = saxReader.read(TestDemo.class.getClassLoader().getResourceAsStream("stus.xml"));//3.从文档中获取"跟标签"Element rootElement = document.getRootElement(); //4.注意,解析时,必须一层一层的解析//4.1 获取"跟标签"下的"student"标签//Element studentEl = rootElement.element("student"); //获取"跟标签"下第一个student标签List<Element> students = rootElement.elements("student"); //获取"跟标签"下所有的student标签Element studentEl = students.get(1); //获取集合中索引为1的那个student标签 //4.2 获取"Student标签"下的"name标签"中的内容// 获取"Student标签"下的"name标签"Element nameEl = studentEl.element("name");// 获取"name标签"中的内容String nameText = nameEl.getText();System.out.println(nameText); //4.3 获取"Student标签"下的"age标签"中的内容// 获取"Student标签"下的"age标签"Element ageEl = studentEl.element("age");// 获取"ageEl"中的内容String ageText = ageEl.getText();System.out.println(ageText); //4.4 获取"Student标签"中Id属性的值// 获取id属性的值String value =studentEl.attributeValue("id");System.out.println(value);} }
③ 文件内容
<?xml version="1.0" encoding="UTF-8" ?> <students><student id="1"><name>张三</name><age>23</age><gender>男</gender></student> <student id="2"><name>李四</name><age>24</age><gender>女</gender></student> </students>
3.XML约束(了解)
3.1 DTD约束-引入方式
引入本地DTD约束: <!DOCTYPE 跟标签 SYSTEM 'DTD文件路径'> 引入内部DTD约束: <!DOCTYPE 跟标签 [ DTD约束语法 ]> 引入网路DTD约束: <!DOCTYPE 跟标签 PUBLIC 'DTD文件名' 'DTD文件的URL'>
3.2 Schema约束-引入方式
<!--xml引入Schema约束--> <跟标签xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://www.itcast.cn/aaa"xsi:schemaLocation="http://www.itcast.cn/aaa student.xsd" > <!--引入其他约束详解:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 1.表示引入官网约束.2.表示当前文件是一个被约束的文件(固定写法)3.给"引入的官网约束"起了个别名叫做"xsi"xmlns="http://www.itcast.cn/aaa" 1.表示引入其他约束2.被引入的约束的名字叫做"http://www.itcast.cn/aaa". 注意:"http://www.itcast.cn/aaa"仅仅是一个名字3.该约束没有起别名,所以,是当前文件的默认约束xsi:schemaLocation="http://www.itcast.cn/aaa student.xsd" 1.指定被引入的自定义约束的路径2.格式为"自定义约束名 自定义约束位置" -->
4.注解
4.1 概述
概述: 注解和注释一样,都是对对代码进行解释说明的. 注解是给计算机进行解释说明,注释是程序员进行解释说明 常见:@Override: 告诉计算机,我这个方法是"重写的方法".@Deprecated: 告诉计算机,我这个方法"过时了"@SuppressWarnings(value = "all"): 告诉计算机,我知道我这里有警告,你不要管了.
4.2 注意事项(知道)
1.注解本身没有任何意义.注解的功能取决于代码赋予的含义. 2.注解在使用时,必须给"注解的属性赋值".格式: @注解名(属性名=属性值) 3.如果注解的属性有默认值,则对应的属性可以不赋值,但是如果没有没默认值,则使用时必须赋值. 4.如果注解的属性名字是value,则赋值时,value可以省略. @注解名(属性值) 5.如果注解的属性是数组,则赋值时,可以直接赋与多个值. @注解名(属性名={值1,值2...}) 5.如果注解的属性是数组,并且赋值时,只赋值一个值的话,{}可以省略.则赋值时,可以直接赋与多个值. @注解名(属性名=值)
4.3 元注解(了解)
概念:所谓的元注解,指的是,修饰自定义注解的注解 组成:@Retention: 表示,自定义注解可以什么时候用. RetentionPolicy.RUNTIME:表示在运行时仍然可以使用@Target: 表示,自定义注解可以在哪个地方用. @Target(ElementType.METHOD):表示自定义注解只能在方法上用
XML介绍与使用及简单注解相关推荐
- xml介绍与解析,及xml库包使用
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 xml介绍与解析,及xml库包使用 文章目录: 1 XML简单介绍 1.1 XML简单介绍 1.2 XML语法结构 2 ...
- RBP的参数配置文件reportConfig.xml介绍
润乾决策分析 平台(RBP)的应用包reportmis/WEB-INF/下的文件reportConfig.xml是RBP主要的参数配置文件.当RBP部署到不同的操作系统.应用服务器.更新语义层文件.授 ...
- Linner介绍、安装及简单Demo
Linner前端项目阐述 本篇文章目录 Linner前端项目阐述 项目结构 项目阐述 组件 图片.CSS.JS文件合并 仓库管理 实时监控文件变化并编译 config.yml文件配置详解 linner ...
- 【JavaWeb - 网页编程】五 XML 介绍
第五章 XML 介绍 创作日期:2021-12-24 5.1 XML 简介 5.1.1 什么是 xml xml 是可扩展的标记性语言 5.1.2 xml 的作用 用来保存数据,而且这些数据具有自我描述 ...
- 配置文件解析之XML介绍和用法
0. 配置文件介绍和分类 介绍 : 好处 : 可以让项目中使用的数据, 灵活的加载和更变, 实现解耦 分类 : Properties : 常用于一对一的存储 键值对 username=root pas ...
- spring 配置的三种方式:XML配置,JAVA配置和注解配置
spring自从3.0开始以后,就全面推荐使用配置的方式进行代码编写了,这种方式确实可以避免了之前一个项目里面一大堆XML的情况,毕竟XML的可读性实在不怎么样,而且一会写JAVA,一会写XML,确实 ...
- 1、hadoop3.1.4简单介绍及部署、简单验证
Hadoop系列文章目录 1.hadoop3.1.4简单介绍及部署.简单验证 2.HDFS操作 - shell客户端 3.HDFS的使用(读写.上传.下载.遍历.查找文件.整个目录拷贝.只拷贝文件.列 ...
- 通过一个例子介绍 IDA pro 的简单使用
From:通过一个例子介绍IDA pro的简单使用 - 知乎 IDA pro 7.6 绿色便携版:http://www.ddooo.com/softdown/215615.htm 配置IDA使用Ana ...
- XML介绍之XML的语法与元素
3.XML 语法 --------------------------------------- --------------------------------------- -- XML的语法 ...
最新文章
- 牛!王军等喜提NBT:用AI在肠道超高效“挖”抗菌肽(附独家专访) | 热心肠日报...
- bash shell基础之三字符串测试及for循环
- mysql续型_mysql续集1
- 你的密码已泄露!使用C#阻止弱密码
- 适配器模式C++实现
- java 去掉html/style/css等标签
- 符合c语言语法规定的表达式,若变量定义为int fahr;,则5(fahr-32)/9是符合C语言语法的表达式...
- IP,路由器工作原理、MAC,交换机工作原理、CSMA\CD、令牌环网
- LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页
- sqlserver无法连接的localhost解决方案
- Android怎样实现控制第三方音乐播放器暂停、播放
- 湖南师范大学计算机专业研究生读几年,湖南师范大学计算机专业在职研究生培养方式是怎样的?...
- 哈工大计算机考研 跨考,2011年哈工大计算机考研经验_跨考网
- NACHOS调度算法的实现
- 程序员 必知 的 自学网站,建议收藏!
- Moviebooking电影售票系统--活动图
- 【matplotlib复杂的频数分布直方图】多子图,共享横纵坐标名,横坐标位置居中及标签显示,显示每个bar的频数
- 三自由度机器人运动学matlab仿真实验报告,3自由度机器人的正运动学建模研究...
- 科技云报道:酷栈科技xView,不只是比肩传统PC的全能体验
- mysql数据库存放视频路径_学习怎样把视频文件存储到mysql数据库