elementhandlertest.java

来自「用java对于xml文件的读取」· Java 代码 · 共 58 行

JAVA
58
字号
import java.io.File;

import org.dom4j.*;
import org.dom4j.io.SAXReader;

public class ElementHandlerTest
{
    public static void main(String[] args)
    {
        SAXReader saxReader=new SAXReader();
        File file=new File("students.xml");
        try
        {
            //添加一个ElementHandler实例。
            saxReader.addHandler("/students/student",new StudentHandler());
            Document doc=saxReader.read(file);
            
        }
        catch(DocumentException e){System.out.println(e.getMessage());}
    }
    
    /**
    * 定义StudentHandler处理器类,对<student>元素进行处理。
    */
    private static class StudentHandler implements ElementHandler
    {
        public void onStart(ElementPath path)
        {
            Element elt=path.getCurrent();
            System.out.println("Found student: "+elt.attributeValue("sn"));
            //添加对子元素<name>的处理器。
            path.addHandler("name", new NameHandler());
        }
        public void onEnd(ElementPath path)
        {
            //移除对子元素<name>的处理器。
            path.removeHandler("name");
        }
    }
    
    /**
    * 定义NameHandler处理器类,对<student>的<name>子元素进行处理。
    */
    private static class NameHandler implements ElementHandler
    {
        public void onStart(ElementPath path)
        {
            System.out.println("path : "+path.getPath());
        }

        public void onEnd(ElementPath path)
        {
            Element elt = path.getCurrent();
            //输出<name>元素的名字和它的文本内容。
            System.out.println(elt.getName()+" : "+elt.getText());
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?