zoukankan      html  css  js  c++  java
  • XML解析

    1.SAXPARSER解析:

      

    public void SaxParser(InputStream input){
            SAXParserFactory factory = SAXParserFactory.newInstance();
            try {
                SAXParser parser = factory.newSAXParser();
                XMLReader reader = parser.getXMLReader();  
                reader.setContentHandler(new MyHandler());  
                reader.parse(new InputSource(input));  
            } catch (ParserConfigurationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SAXException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }

    private class MyHandler extends  DefaultHandler{
    
            private StringBuilder builder;  
            @Override
            public void endDocument() throws SAXException {
                // TODO Auto-generated method stub
                super.endDocument();
            }
    
            @Override
            public void endElement(String uri, String localName, String qName)
                    throws SAXException {
                // TODO Auto-generated method stub
                super.endElement(uri, localName, qName);
                
                System.out.println(builder.toString());
            }
    
            @Override
            public void startDocument() throws SAXException {
                // TODO Auto-generated method stub
                super.startDocument();
                builder = new StringBuilder();
            }
    
            
            
            @Override
            public void characters(char[] ch, int start, int length)
                    throws SAXException {
                // TODO Auto-generated method stub ,输出value
                super.characters(ch, start, length);
                 builder.append(ch, start, length);    
                 
            }
    
            @Override
            public void startElement(String uri, String localName, String qName,
                    Attributes attributes) throws SAXException {
                // TODO Auto-generated method stub
                super.startElement(uri, localName, qName, attributes);
                builder.setLength(0);  
            }
            
        }

    2 DOM解析

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            try {
                DocumentBuilder builder = factory.newDocumentBuilder();
                Document doc = builder.parse(input);
                Element rootElement = doc.getDocumentElement();
                NodeList items = rootElement.getElementsByTagName("result");  
                for(int i=0;i<items.getLength();i++){
                    NodeList list = items.item(i).getChildNodes();
                    
                    for(int j=0;j<list.getLength();j++){
                        Node node = list.item(j);
                        System.out.println(node.getFirstChild().getNodeValue());
                    }
                }
                
            } catch (ParserConfigurationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SAXException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

    3 PullParser

      

    private void PullParser(InputStream is){
            XmlPullParser parser = Xml.newPullParser();
            
            try {
                parser.setInput(is, "UTF-8");
                int eventType = parser.getEventType();  
                while (eventType != XmlPullParser.END_DOCUMENT){
                    switch (eventType) {
                    case XmlPullParser.START_DOCUMENT:
                        //books = new ArrayList<Book>();
                        break;
                    case XmlPullParser.START_TAG:
                        if (parser.getName().equals("book")) {
                            //book = new Book();
                        } else if (parser.getName().equals("id")) {
                            eventType = parser.next();
                            //book.setId(Integer.parseInt(parser.getText()));
                            System.out.println(parser.getText());
                        } else if (parser.getName().equals("name")) {
                            eventType = parser.next();
                            //book.setName(parser.getText());
                            System.out.println(parser.getText());
                        } else if (parser.getName().equals("price")) {
                            eventType = parser.next();
                            System.out.println(parser.getText());
                            //book.setPrice(Float.parseFloat(parser.getText()));
                        }
                        break;
                    case XmlPullParser.END_TAG:
                        if (parser.getName().equals("book")) {
                            //books.add(book);
                            //book = null;    
                        }
                        break;
                    }
                    eventType = parser.next();
                }
            } catch (XmlPullParserException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
  • 相关阅读:
    Kafka
    js操作json
    Javascript的console.log()用法
    js中的instanceof运算符
    JS阻止事件冒泡的3种方法之间的不同
    js string to date
    JavaScript RegExp.$1
    JS正则表达式大全
    js data日期初始化的5种方法
    javascript和jquey的自定义事件小结
  • 原文地址:https://www.cnblogs.com/yk00/p/2891162.html
Copyright © 2011-2022 走看看