一、导入jar包
JDOM不是Java提供的解析xml的方式,所以需要导入额外的jar包,可以去官方网站下载。
二、JDOM解析实例
books.xml
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book id="1">
<name>冰与火之歌</name>
<author>乔治马丁</author>
<time>2014</time>
<price>89</price>
</book>
<book id="2">
<name>安徒生童话</name>
<price>40</price>
<time>2004</time>
<language>English</language>
</book>
</bookstore>JDomDemo.java
public class JDomDemo {
public static void main(String[] args) {
//1、创建SAXBuilder对象
SAXBuilder saxBuilder = new SAXBuilder();
InputStream in;
try {
//2、创建输入流,并将xml文件加载到输入流中
in = new FileInputStream("xml/books.xml");
//3、将输入流加载到SAXBuilder对象中
Document document = saxBuilder.build(in);
//4、获取根元素
Element element = document.getRootElement();
//5、获取根元素的所有子元素
List<Element> childList = element.getChildren();
//6、遍历每一个子元素
for (Element child : childList) {
System.out.println("===开始读取第" + (childList.indexOf(child) + 1) + "本书的信息===");
//7-1、如果不知道属性有哪些,使用Element.getAttributes获取属性,并遍历属性
List<Attribute> attrList = child.getAttributes();
for(Attribute attr : attrList) {
System.out.println("属性名:" + attr.getName() + "-->属性值:" + attr.getValue());
}
//7-2、如果知道属性有哪些,可以直接调用Element.getAttributeValue(String name)获取对应的属性值
System.out.println("已知有id属性,id属性的值为" + child.getAttributeValue("id"));
//8、获取所有子节点,并调用Element.getName()方法获取节点名,调用Element.getVlaue()方法获取节点值
List<Element> list = child.getChildren();
for(Element ele : list) {
System.out.println("子节点:" + ele.getName() + "--->子节点的值:" + ele.getValue());
}
System.out.println("===读取第" + (childList.indexOf(child) + 1) + "本书的信息结束===");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
===开始读取第1本书的信息===
属性名:id-->属性值:1
已知有id属性,id属性的值为1
子节点:name--->子节点的值:冰与火之歌
子节点:author--->子节点的值:乔治马丁
子节点:time--->子节点的值:2014
子节点:price--->子节点的值:89
===读取第1本书的信息结束===
===开始读取第2本书的信息===
属性名:id-->属性值:2
已知有id属性,id属性的值为2
子节点:name--->子节点的值:安徒生童话
子节点:price--->子节点的值:40
子节点:time--->子节点的值:2004
子节点:language--->子节点的值:English
===读取第2本书的信息结束===
本文介绍了一种使用Java库JDOM解析XML文件的方法。通过一个具体的书籍信息XML文件示例,展示了如何读取和解析XML文件中的各种元素及属性。具体步骤包括创建SAXBuilder对象、加载XML文件、获取根元素及其子元素等。

1万+

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



