Java编程中操作XML文件(解析方法三:JDOM)

本文介绍使用JDOM库解析XML文件的方法,包括导入jar包、创建SAXBuilder对象及Document对象,并通过示例代码展示了如何获取XML文件的根节点、子节点及属性,同时提供了解决中文乱码问题的两种方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以JDOM方式解析

一、准备工作
1.导入jdom的jar包
2.SAXBuilder saxBuilder = new SAXBuilder(); //创建SAXBuilder对象
3.Document document = saxBuilder.build(in); //创建document对象 (导入的是org.jdom….下的包)。build()方法有重载。这里采用传入文件流的方式 InputStream in = new FileInputStream(“src/res/books.xml”);
二、解析XML
4.Element rootElement = document.getRootElement(); //获取根节点
5.List bookList = rootElement.getChildren(); //获取节点下的子节点集合
for (Element book : bookList) { //遍历子节点
List attrList = book.getAttributes(); //获取每个子节点的属性集合
for (Attribute attribute : attrList) { //遍历属性集合
String attrName = attribute.getName(); //获取属性名
String attrValue = attribute.getValue(); //获取属性值
System.out.println(attrName + ” = ” + attrValue);
}
List childElementList = book.getChildren(); //同样的方法获取子节点的子节点
for (Element child : childElementList) { //遍历
System.out.println(child.getName() + ” = ” + child.getValue());
}}

注意:JDOM解析XML时的乱码问题

  • 方法一:修改XML中<?xml version=”1.0” encoding=”UTF-8”?>” 的encoding属性值,对中文支持较好的有UTF-8,GBK,gb2312 等
  • 方法二:在创建文件输入流时用InputStreamReader进一步包装输入文
    件流
    1.InputStream in = new FileInputStream(filePath);
    2.InputStreamReader isr = InputStreamReader(InputStream in , charset charsetName); //将charsetName设为对中文支持较好的有UTF-8,GBK,gb2312 等
    3.Document document = saxBuilder.build(isr);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值