<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的實現和使用都很直截了當,就是處理一個個事件罷了。
    主站蜘蛛池模板: 永久免费AV无码网站在线观看 | 久久亚洲精品中文字幕无码| 美女被暴羞羞免费视频| 免费无码又爽又刺激高潮| 亚洲人成网站色在线观看| 猫咪社区免费资源在线观看| 亚洲欧洲日韩国产一区二区三区| 青青青国产在线观看免费| 国产日本亚洲一区二区三区| 无码人妻一区二区三区免费手机 | 亚洲成a人片在线观看国产| 在线观看国产一区亚洲bd| 国产精品免费小视频| 日韩在线视频免费| 亚洲VA中文字幕无码毛片| 99蜜桃在线观看免费视频网站| 亚洲一卡2卡三卡4卡有限公司| 免费观看AV片在线播放| 亚洲国产精品美女久久久久| yy6080亚洲一级理论| 九九99热免费最新版| 91亚洲一区二区在线观看不卡| 四虎最新永久免费视频| 亚洲熟妇无码一区二区三区导航 | 色天使亚洲综合一区二区| 亚洲国产午夜中文字幕精品黄网站| 一级黄色免费网站| 亚洲精品福利视频| 在线a毛片免费视频观看| 一级中文字幕免费乱码专区| 亚洲资源在线观看| 四虎成人免费影院网址| 中国性猛交xxxxx免费看| 亚洲福利视频网站| 免费v片在线观看| 91精品手机国产免费| 日韩亚洲综合精品国产| 久久久久亚洲AV成人无码| 成年女人午夜毛片免费视频| 两个人看的www视频免费完整版| 亚洲乱码在线视频|