过程:
1.new一个操作文件的对象
2.获取根节点的对象,通过对象获取根节点下子节点的数据
如有子子节点,过程一样
代码如下:
SAXReader reader = new SAXReader(); // 通过SAXReader对象的read方法加载xy.xml文件,获取docuemnt对象。 Document document = reader.read(new File("src/xy.xml")); Element xy = document.getRootElement(); //通过获取根节点xy Iterator it1 = xy.elementIterator(); //获取根节点的迭代器it1 while (it1.hasNext()) { //遍历根下的子节点 Element side = (Element) it1.next(); //获取根节点的迭代器it1中的元素,即:子节点中的元素 Iterator it2 = side.elementIterator(); //获取子节点side的迭代器 while (it2.hasNext()) { //遍历子节点的子节点 Element sideChild = (Element) it2.next(); //获取子节点迭代器it2中的元素,即:子子节点中的元素 Iterator it3 = sideChild.elementIterator(); while (it3.hasNext()) { Element right = (Element) it3.next(); Iterator it4 = right.elementIterator(); if(right.getName() == "x"){ double dx = Double.valueOf(right.getStringValue());//获取x的值 System.out.println(dx); } } } }
xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<xy>
<constraint id="6">
<width>150</width>
<heigth>80</heigth>
<screenwidth>1080</screenwidth>
</constraint>
<side id="1">
<name>冰与火之歌</name>
<author>乔治马丁</author>
<year>2014</year>
<price>89</price>
<right>
<x>12.12</x>
<y>13.13</y>
</right>
<left>
<x>132.12</x>
<y>153.13</y>
</left>
</side>
</xy>