java语言中的XML解析
一、XML的基础概念
XML(eXtensible Markup Language,可扩展标记语言) 是一种用于存储和传输数据的标记语言,由万维网联盟(W3C)于 1998 年发布。它的设计初衷是分离数据内容与展示形式,并实现跨平台的数据交换,其核心思想源于 SGML(标准通用标记语言),但语法更为简洁。
二、XML文件的特点
1、平台无关性:不依赖特定的操作系统或软件,可在不同环境中解析和使用
2、可扩展性:用户可自定义标签和结构,无需遵循固定标准
3、结构化数据存储:采用树形层级结构,便于数据的组织和解析
三、XML语言的语法规则
1、第一行通常为 XML 声明,指定版本和编码(常见为 UTF-8)。
2、文档结构方面,必须有一个根节点包裹所有内容
3、所有标签均为闭合标签,且标签之间不能交叉嵌套
4、标签区分大小写,如<Title>和<title>是不同的标签
示例:定义一个XML文件
四、XML文件的解析方式
1、DOM解析:将整个XML文件加到内存中,构建树形结构,便于随机访问节点,但消耗内存较高
2、XML解析库:如java语言中的DOM4J
3、SAX解析:流式解析,按顺序读取文档,适合处理大文件,但无法反向访问节点。
示例:使用DOM4J解析XML文件(解析上述XML文件)
1、单个路径解析
运行结果:
2、若需要解析所有stu节点中的信息,首先通过selectNodes()方法获取所有stu节点,再使用循环遍历所有节点
运行结果:
五、场景案例:构建XML文件,存储连接和操作数据库的信息,java通过解析XML文件,按照需求就可以执行不同的数据库操作
1、数据库中准备两张待操作的表
表:t_stu
表:t_goods
2、设计XML文件,存储的信息有连接和操作数据库
3、设计Info类,存储解析出来的连接数据库信息
4、构建类ParseXML,用于解析XML文件,使用hashtable存储数据库信息
解析连接数据库节点
解析sql节点
为该类中的成员创建set,get方法
5、设计类Stu,存储表t_stu的信息
6、设计类Goods,存储t_goods表中信息
7、构建类DB,执行数据库操作
运行结果: