xml解析

2020-02-12  本文已影响0人  北海北_6dc3

参考资料:
官网
XML文件解析DOM解析和SAX解析

1、SAX解析

1.1 使用方
1.2 sax实现流程,核心定义saxEventRecorder 。

整体实现

        //获取解析器
        SAXParserFactory factory = SAXParserFactory.newInstance();
        SAXParser parser = factory.newSAXParser();
        //使用saxEventRecorder ,解析文件
        parser.parse("src/com/briup/test3/book.xml", saxEventRecorder );

saxEventRecorder 实现

public class SaxEventRecorder extends DefaultHandler 
{
            //解析开始标题文档
            public void startDocument() throws SAXException {
                System.out.println("<?xml version= 1.0 encoding= utf-8 ?>");
                
            }

            //解析节点
            @Override
            public void startElement(String uri, String localName,
                    String qName, Attributes attributes) throws SAXException {
                System.out.print("<"+qName+" ");
                for (int i = 0; i < attributes.getLength(); i++) {
                    System.out.print(attributes.getQName(i)+"="+attributes.getValue(i));
                    
                }
                System.out.print(">");
            }

        
            @Override
            //解析结束
            public void endElement(String uri, String localName, String qName)
                    throws SAXException {
                System.out.print("</"+qName+">");
            }

            @Override
            //解析内容
            public void characters(char[] ch, int start, int length)
                    throws SAXException {
                String string = new String(ch, start, length);
                System.out.print(string);
            }
}

2、DOM解析

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        if (entityResolver != null) {
            docBuilder.setEntityResolver(entityResolver);
        }
        if (errorHandler != null) {
            docBuilder.setErrorHandler(errorHandler);
        }
        docBuilder.parse(inputSource);
上一篇 下一篇

猜你喜欢

热点阅读