项目笔记-2-xml基础

项目笔记-2-xml基础

  • 目录
    • 一.xml简介
      • 1.概念
      • 2.功能
      • 3.xml与HTML区别
      • 4.xml语法
    • 二.DTD(Document Type Definition)
      • 1. 内部DTD
      • 2. 外部DTD的定义
    • 三.XML的解析技术
      • 1.常见的解析技术
      • 2.DOM4J解析XML
    • 四.eclipse使用技巧
      • 1.eclipse代码提示
      • 2.中英文大小不一致
      • 3.快捷键自动生成返回对象
      • 4.Eclipse找不到或无法加载主类

目录

参考:

https://www.bilibili.com/video/BV1tW411o7Fd/

一.xml简介

1.概念

可扩展标记语言(Estensible Markup language),可扩展表示没有固定的标签,开发者在符合xml命名规则的基础之上,可以根据自己的需求定义自己的标签。

2.功能

储存数据:配置文件;在网络中传输

3.xml与HTML区别

(1)xml标签都是自定义的,html标签都是预定义的
(2)xml语法严格,html语法松散
(3)xml是储存数据的,html是展示数据

4.xml语法

使用简单的标记来描述数据:
项目笔记-2-xml基础_第1张图片
(1)格式良好的XML文档:遵循XML文档的基本规则
*必须有XML声明语句;
必须有且仅有一个根元素;
标签大小写敏感;
属性值使用双引号;
标签成对;
元素正确嵌套

*(2)文档声明
格式:
属性列表:version,版本号,必须的属性;encoding,编码方式,告知解析引擎当前文档使用的字符集

(3)标签, 标签名称自定义
规则:名称可以包含字母数字以及其他字符
名称不能以数字或标点符号开始
数字不能以字母xml(或者XML,Xml等)开始
名称不能包含空格

(4)文本
CDATA区:在该区域中的数据会被原样展示

(5)有效的XML文档
格式良好;使用DTD和XSD(XML Scherma)定义语义约束
(约束是规定和限制xml的书写规则,即约束文档)

二.DTD(Document Type Definition)

文档类型定义,用于约束xml的文档格式,保证xml是一个有效的xml,分为内部DTD和外部DTD两种。

1. 内部DTD

(1)内部DTD定义
DTD被包含在xml文件中, <!DOCTYPE 根元素 [元素声明]>
(2)元素声明语法
< !ELEMENT 元素名 (子元素数量词)>
< !ELEMENT 子元素 (属性1,属性2,属性3…)>
(3)数量词
+:表示出现1次或多次,至少一次
?:表示出现0从次或1次
*:表示出现任意次
(4)属性声明语法:
属性类型 :
CDATA,表示字符数据(character data);PCDATA,表示被解析的字符数据(parsed character data)。可理解为 XML 元素的开始标签与结束标签之间的文本。
默认值: #REQUIRED,表示必须出现;#IMPLIED,表示不必须出现

(5)实例
项目笔记-2-xml基础_第2张图片

2. 外部DTD的定义

(1)创建一个独立的DTD文件项目笔记-2-xml基础_第3张图片
(2)在xml中引入外部DTD文件
在这里插入图片描述
注意:空格的使用

三.XML的解析技术

对xml文件进行操作,包括创建,增,删,改,查

1.常见的解析技术

1.DOM,基于xml树结构,比较耗费资源,适用于多次访问xml(官方)
2.SAX,基于事件,消耗资源少,适用于数据量较大的XML(民间)
3.JDOM,开放源代码,比DOM更快,使用具体类而不使用接口(第三方)
4.DOM4J,开放源代码,性能优异,功能强大,使用接口而不使用具体类(第三方)

2.DOM4J解析XML

dom4j就是一个开源的、简易的可以帮助java解析xml文件的api 。解析xml的入口,是需要先拿到一个Document对象。
1.DOM4J下载
dom4j官网下载 地址:https://dom4j.github.io
项目笔记-2-xml基础_第4张图片
百度网盘下载:

链接:https://pan.baidu.com/s/1IQTmkZK4E0R_-ZWGfyCnCw 提取码:46on

下载链接:

https://download.csdn.net/download/hahahahah123456/12597154

2.导入
(1)在要用工程中新建文件夹,命名lib;
(2)将dom4j-1.6.1.jar复制进lib中;
(3)选中lib中的dom4j-1.6.1.jar,右击 选择Build Path–>Add to Build Path;导入后即可

3.DOM4J常用的对象
(1)SAXReader:读取xml文件到Document树结构文件对象
(2)Document:是一个xml文档对象树,类比html文档对象
(3)Element:元素节点,通过Document对象可以查找单个元素

4.Dom4j解析步骤
(1)创建解析器
SAXReader reader = new SAXReader();
(2)Document对象:通过解析器read方法获取
Document doc =reader.read(“ 文件.xml“);
(3)获取xml根节点
Element root=doc.getRootElement();
(4)遍历解析子节点
项目笔记-2-xml基础_第5张图片
得到结果:
项目笔记-2-xml基础_第6张图片

四.eclipse使用技巧

1.eclipse代码提示

(1)打开eclipse依次点击Window --> Perferences --> Java --> Editor --> Content Assist
(2)在【Auto activation triggers for Java:】选项后的文本框中会看到一个".“后加上"qwertyuiopasdfghjklzxcvbnm”,eclipse默认只有在你输入"."之后才会有代码提示和自动补全。
项目笔记-2-xml基础_第7张图片
参考:

https://blog.csdn.net/as1072966956/article/details/80672937

(还介绍了–确认时“被补全代码”的配置方法)

2.中英文大小不一致

默认的eclipse juno中英文字体是Consolas,字体大小是10,但是实际,如果代码中有中文,那中文的字体会比英文的字体小一些,看起来不协调
项目笔记-2-xml基础_第8张图片
步骤如下:Window –> Preferences –> General –> Appearance –> Colors and Fonts,在“Colors and Fonts”中选择“Basic”–>”Text Font”,然后点“Edit”,
(方法1:调整字体)选择“大小”里面的值成“小五”或“五号”、“小四”、“四号”等等其他更大的字体,个人推荐“小五”。然后点“确定”,再点“Apply”,“OK”,你就可以看到eclipse中文字体变大了,英文字体和大小不变(因为宋体的小五的英文字体大小正好和英文的10是相等的)。
项目笔记-2-xml基础_第9张图片
(方法2:调整脚本)把右下角脚本改为中欧字符即可。
调整后:项目笔记-2-xml基础_第10张图片参考:

https://www.cnblogs.com/zhangboy/p/6509977.html

3.快捷键自动生成返回对象

可以实现快捷键生成返回对象。new 对象后可以按住ctrl+2+l
如图:
在这里插入图片描述

4.Eclipse找不到或无法加载主类

eclipse的java编译器是根据原java文件是否更新而编译java文件的.也就是说原java文件如果没有更新那么就运行上一次已经编译好的class文件.
重新构建项目,再次运行java文件

参考:

https://blog.csdn.net/Bb15070047748/article/details/80621231

你可能感兴趣的:(xml)