xml解析/读取--dom4j

过程:

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>

 

posted @ 2018-01-12 15:34  JQS  阅读(126)  评论(0编辑  收藏  举报