day08-XML( 四 )


day08-XML

文章插图

day08-XML

文章插图
day08-XML

文章插图
  • 点击name节点,展开,即可看到name节点的值
    day08-XML

    文章插图
  • document对象的整体结构为:
    day08-XML

    文章插图
    1.方式一遍历
    演示案例1:遍历xml指定元素
    import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.testng.annotations.Test;import java.io.File;import java.util.List;public class Dom4j_ {/*** 遍历所有的student信息*/@Testpublic void listStus() throws DocumentException {//得到一个解析器SAXReader reader = new SAXReader();Document document = reader.read(new File("src/students.xml"));//1.得到rootElementElement rootElement = document.getRootElement();//2.得到rootElement的student节点List<Element> students = rootElement.elements("student");System.out.println(students.size());//2for (Element student : students) {//student就是student节点/元素//获取student节点的name节点Element name = student.element("name");//因为name只有一个,这里用element方法Element age = student.element("age");Element gender = student.element("gender");Element resume = student.element("resume");System.out.println("学生信息=" + name.getText() + " " +age.getText() + " " + gender.getText() + " " + resume.getText());}}}
    day08-XML

    文章插图
    2.方式一查询
    案例2:读取指定xml元素
    import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.testng.annotations.Test;import java.io.File;public class Dom4j_ {/*** 指定读取第一个学生的信息*/@Testpublic void readOne() throws DocumentException {//得到一个解析器SAXReader reader = new SAXReader();Document document = reader.read(new File("src/students.xml"));//1.得到rootElementElement rootElement = document.getRootElement();//2.获取第一个学生Element student = (Element) rootElement.elements("student").get(0);//3.输出该学生的信息System.out.println("学生信息=" +student.element("name").getText() + " " +student.element("age").getText() + " " +student.element("gender").getText() + " " +student.element("resume").getText());//4.获取student元素的属性System.out.println("id="+student.attributeValue("id"));}}
    day08-XML

    文章插图
    • 如果想要省略层层取元素的步骤,直接在根节点取出指定的元素,可以使用xpath(https://dom4j.github.io/#xpath)
    3.方式一增删改【day08-XML】

    经验总结扩展阅读