<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Read Sean

    Read me, read Sean.
    posts - 508, comments - 655, trackbacks - 9, articles - 4

    [XML學習筆記][3.1]通過JAXP使用SAX

    Posted on 2005-02-24 22:13 laogao 閱讀(279) 評論(0)  編輯  收藏 所屬分類: On Java

    在前面的筆記中,我們曾經提到讀取XML數據的兩種截然不同的方式,SAX就是其中一種。來看一段代碼:

    /*
     * Created on 2005-2-24
     * All rights reserved.
     * 
     
    */

    package sean.home.test;

    import java.io.File;

    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;

    import org.xml.sax.Attributes;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;

    /**
     * @author Sean GAO
     *         <p>
     *         gaoyuxiang@gmail.com
     *         </p>
     * 
     
    */

    public class Main {

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

            SAXParserFactory factory 
    = SAXParserFactory.newInstance();
            SAXParser parser 
    = factory.newSAXParser();

            DefaultHandler myHandler 
    = new DefaultHandler() {

                
    public void startDocument() throws SAXException {
                    System.
    out.println("XML document starts ");
                }


                
    public void endDocument() throws SAXException {
                    System.
    out.println("XML document ends ");
                }


                
    public void startElement(String uri, String localName,
                        String qualifiedName, Attributes attributes)
                        throws SAXException 
    {
                    System.
    out.println("element " + qualifiedName + "starts ");
                }


                
    public void endElement(String uri, String localName,
                        String qualifiedName) throws SAXException 
    {
                    System.
    out.println("element " + qualifiedName + "ends ");
                }


                
    public void characters(char[] ch, int start, int length) {
                    System.
    out.println(new String(ch, start, length));
                }


            }
    ;
            
            parser.parse(
    new File(args[0]), myHandler);
            
        }

    }



    在這段代碼中,我們通過SAXParserFactory獲取一個parser,然后自定義一個Handler去處理由SAX讀取XML文件時觸發的事件,如startDocument表示文檔開始,endElement表示元素讀取結束,characters表示在元素體內讀到內容等等。這里我為了方便直接寫成匿名內部類了,Exception也沒有做任何處理,這在實際中通常是不合理的。

    基本上SAX的實現和使用都很直截了當,就是處理一個個事件罷了。
    主站蜘蛛池模板: 亚洲 欧洲 日韩 综合在线| 精品亚洲成a人片在线观看| 久久亚洲国产午夜精品理论片| 亚洲精品美女久久久久99| 最近免费中文字幕大全免费 | 亚洲一区二区三区在线网站| 中文字幕乱码亚洲无线三区| 理论秋霞在线看免费| 亚洲av永久无码| 亚洲丁香婷婷综合久久| 美女被爆羞羞网站免费| 毛片在线播放免费观看| 无限动漫网在线观看免费| 99久久免费国产精品特黄| 免费va在线观看| 亚洲激情中文字幕| 亚洲国产精品无码久久98| 91视频免费观看| 免费阿v网站在线观看g| 亚洲av高清在线观看一区二区| 久久青青成人亚洲精品| 久久久久亚洲精品日久生情| 亚洲色欲色欱wwW在线| 久久亚洲中文无码咪咪爱| 两个人看的www免费高清| 免费三级毛片电影片| 亚洲国产主播精品极品网红| 亚洲人成电影在线天堂| 亚洲AV无码XXX麻豆艾秋| A级毛片高清免费视频在线播放| 免费国产黄网站在线观看 | 在人线av无码免费高潮喷水| 免费在线看片网站| 亚洲精品综合久久中文字幕| 免费看美女午夜大片| 亚洲精品视频免费| 无码日韩精品一区二区三区免费| 91香蕉国产线在线观看免费| 国产91久久久久久久免费| 久久久无码精品亚洲日韩京东传媒 | 亚洲私人无码综合久久网|