Java使用SAX解析XML文件时如何处理错误?

该类ErrorHandler实现的接口org.xml.sax.helpers.DefaultHandler为SAX解析中的错误处理机制提供了一些方法。该方法是warning(),error()和fatalError()。

package org.nhooo.example.xml;

import org.xml.sax.SAXException;

import org.xml.sax.SAXParseException;

import org.xml.sax.helpers.DefaultHandler;

import javax.xml.parsers.SAXParser;

import javax.xml.parsers.SAXParserFactory;

import java.io.InputStream;

public class SAXErrorHandlerDemo {

    public static void main(String[] args) throws Exception {

        SAXErrorHandlerDemo demo = new SAXErrorHandlerDemo();

        demo.run();

    }

    public void run() throws Exception {

        // 创建SAXParserFactory和SAXParser实例。

        SAXParserFactory factory = SAXParserFactory.newInstance();

        SAXParser parser = factory.newSAXParser();

        // 使用MySAXHandler解析error.xml文件 

        // DefaultHandler实现。

        InputStream is = getClass().getResourceAsStream("/error.xml");

        DefaultHandler handler = new MySAXHandler();

        parser.parse(is, handler);

    }

    // 覆盖由ErrorHandler定义的错误处理方法

    //接口。此方法将处理由

    // 解析过程。

    class MySAXHandler extends DefaultHandler {

        @Override

        public void warning(SAXParseException e) throws SAXException {

            System.out.println("warning   : " + e.getMessage());

        }

        @Override

        public void error(SAXParseException e) throws SAXException {

            System.out.println("error     : " + e.getMessage());

        }

        @Override

        public void fatalError(SAXParseException e) throws SAXException {

            System.out.println("fatalError: " + e.getMessage());

        }

    }

}

                       

以上是 Java使用SAX解析XML文件时如何处理错误? 的全部内容, 来源链接: utcz.com/z/360927.html

回到顶部