以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);
本文介绍使用JDOM库解析XML文件的方法,包括导入jar包、创建SAXBuilder对象及Document对象,并通过示例代码展示了如何获取XML文件的根节点、子节点及属性,同时提供了解决中文乱码问题的两种方案。
&spm=1001.2101.3001.5002&articleId=51891901&d=1&t=3&u=2457152d9c744b21a9c85de65684c1ca)
454

被折叠的 条评论
为什么被折叠?



