学习笔记——xml解析
2022-10-27
xml简析
(1)作用:配置文件
(2)XML含义:
可扩展标记语言(可扩展就是指标签不止一套)
2022-10-28
使用实例:
步骤:
(1)首先创建一个module,之后在模块中创建一个文件夹“lib”,在里面放置解析xml文件的jar包。jar包为“dem4j-1.6.1.jar”。将jar包复制到lib中,右击点击“Add as Library”。在“Create Library”中的“Level”选择“Module Library”,点击“OK”.
(2)在src文件夹中创建一个文件,命名为“employees.xml”。在里面写入xml可扩展标记语言。
(3)在src文件夹中创建一个class类,命名为“Demo1”,在此类中创建一个解析器对象,对xml文件进行解析。
employees.xml
<?xml version="1.0" encoding="UTF-8"?> <employees> <employee id="101"> <name>张三</name> <age>18</age> <address>北京</address> </employee> <employee id="102"> <name>李四</name> <age>20</age> <address>上海</address> </employee> <employee id="103"> <name>王五</name> <age>19</age> <address>深圳</address> </employee> </employees>
Demo1
package com.haha.demo4j; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import java.util.List; public class Demo1 { public static void main(String[] args) throws DocumentException { //创建解析器对象 SAXReader reader = new SAXReader(); try { Document document = reader.read(Demo1.class.getClassLoader().getResourceAsStream("employees.xml")); Element root = document.getRootElement(); Element employee = root.element("employee"); Element name = employee.element("name"); String text = name.getText(); System.out.println("text=" + text); System.out.println("----------"); // 获得多个element对象 List<Element> employees = root.elements("employee"); for(Element element : employees){ Element name1 = element.element("name"); String text1 = name1.getText(); System.out.println("text1="+text1); } System.out.println("-------------------"); Element employee1 = root.element("employee");//第一个employee Attribute id = employee1.attribute("id"); String value = id.getValue(); System.out.println(value); }catch (DocumentException e){ e.printStackTrace(); } } }
说明:在解析文件时,要将被解析的文件名,写正确。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南