XML之DOM思想的DOM4J解析器

来源:互联网 发布:淘宝vip专享活动 编辑:程序博客网 时间:2024/05/29 17:40

students的xml文件

<?xml version="1.0" encoding="UTF-8"?><students>    <studnet id="s001">            <name>张三</name>            <age>23</age>            <tel>110</tel>    </studnet>    <student id = "s002">        <name>李四</name>        <age>32</age>        <tel>119</tel>    </student></students>
package org.westos.dom4j;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.util.Iterator;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class DOM4JDemo {    public static void main(String[] args) throws FileNotFoundException, DocumentException {        // 导入jar包        // 创建解析DOM4J解析对象        SAXReader reader = new SAXReader();        Document doc = reader.read(new FileInputStream("students.xml"));        // 获取节点对象        // Node node = doc.node(0); //只能获取一个节点        // System.out.println(node.getName());        // 获取跟标签对象        Element rootelement = doc.getRootElement();        // 获取第一个子标签        Element stuElement = rootelement.element("student");        System.out.println(stuElement.getName());        System.out.println("-------------以下是获取所有子标签---------------------");        // 获取所有的子标签        List<Element> list = rootelement.elements();        for (Element ele : list) {            System.out.println(ele.getName());        }        // 方式三 获取所有子标签        System.out.println("-------------通过迭代器获取所有子标签---------------------");        Iterator<Element> elementIterator = rootelement.elementIterator();        while (elementIterator.hasNext()) {            Element element = elementIterator.next();            System.out.println(element.getName());        }        System.out.println("-------------以下是获取属性对象--------------------------");        Element element = rootelement.element("student");        Attribute attribute = element.attribute("id");        String value = attribute.getValue();        String name = attribute.getName();        System.out.println(name);        System.out.println(value);        // 方式2:直接获取属性值        System.out.println("------------------------------------------");        String value2 = rootelement.element("student").attributeValue("id");        System.out.println(value2);        // 方式三:获取所有的属性对象        List<Attribute> attributes = rootelement.element("student").attributes();        for (Attribute atr : attributes) {            String name2 = atr.getName();            String value3 = atr.getValue();            System.out.println(name2 + "======" + value3);        }        System.out.println("---------------通过迭代器获取所有的属性对象--------------------------");        Iterator<Attribute> attributeIterator = rootelement.element("student").attributeIterator();        while (attributeIterator.hasNext()) {            Attribute attribute2 = attributeIterator.next();            System.out.println(attribute2.getName() + "==" + attribute2.getValue());        }        System.out.println("--------------获取标签之间的文本-----------------------");        // 层层往下拿        String text = doc.getRootElement().element("student").element("name").getText();        System.out.println(text);        // 方式2:        String text2 = doc.getRootElement().element("student").elementText("name");        System.out.println(text2);        // 抽取方法获取所有节点        // getNodes(rootelement);        // 如果想获取所有节点        // Iterator<Node> iterator = doc.nodeIterator();        // while(iterator.hasNext()){        // Node node2 = iterator.next();        // System.out.println(node2.getName());        // }    }    // private static void getNodes(Element ele) {    // System.out.println(ele.getName());    // Iterator<Node> iterator = ele.nodeIterator();    // while(iterator.hasNext()){    // Node node2 = iterator.next();    // if(node2 instanceof Element){    // Element ele3 = (Element) node2;    // getNodes(ele3); //使用递归    // }    //    // }    // }}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 这俩天吃药太多肝肾功能不好怎么办 跑步跑得头疼晕怎么办 吃完辣的想吐怎么办 体育生暑假训练太累怎么办 高强度运动后性功能不好怎么办 运动后第二天全身酸痛怎么办 运动后心慌想吐怎么办 激素停后全身疼怎么办 运动完头晕想吐怎么办 跑了步全身酸痛怎么办 运动后全身没力气怎么办 学完游泳不会换气怎么办 猫不吃饭精神不好怎么办 运动完头晕目眩想吐怎么办 酒后第二天恶心想吐怎么办 剧烈运动后肌肉酸痛怎么办 剧烈运动后吐了怎么办 长跑后头晕想吐怎么办 运动后一直想吐怎么办 跑多了恶心想吐怎么办 剧烈运动恶心想吐怎么办 长跑之后 恶心想吐怎么办 喝咖啡后绞心痛怎么办 牛奶喝多了胃胀怎么办 运动后大量出汗头晕怎么办 屁股出汗淹的特别痛怎么办 运动完感觉很累怎么办 跑步后感觉很累怎么办 输液多了伤脾胃怎么办 运动完后特别晕怎么办 运动过量大腿肌肉酸痛怎么办 13岁发烧38.2度怎么办 头晕恶心想吐四肢无力怎么办 烧退了浑身疼怎么办 下午睡久了头疼怎么办 一天睡久了头疼怎么办 在家躺久了头疼怎么办 4周多儿童睡眠差怎么办 6岁儿童睡眠差怎么办 四年级的孩子不会写作文怎么办 四年级的孩子写不出作文怎么办?