亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? saxlocalnamecount.java

?? Read web RSS Feeds to break it into simple tags elements
?? JAVA
字號:
// JAXP packages
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;

import java.util.*;
import java.io.*;

/**
 * Program to count the number of elements using only the localName
 * component of the element, in an XML document.  Namespace names are
 * ignored for simplicity.  This example also shows one way to turn on
 * validation and how to use a SAX ErrorHandler.
 *
 * Notes: DefaultHandler is a SAX helper class that implements the SAX
 * ContentHandler interface by providing no-op methods.  This class
 * overrides some of the methods by extending DefaultHandler.  This program
 * turns on namespace processing and uses SAX2 interfaces to process XML
 * documents which may or may not be using namespaces.
 *
 * Update 2002-04-18: Added code that shows how to use JAXP 1.2 features to
 * support W3C XML Schema validation.  See the JAXP 1.2 maintenance review
 * specification for more information on these features.
 *
 */
public class SAXLocalNameCount extends DefaultHandler {

    /** A Hashtable with tag names as keys and Integers as values */
    private Hashtable tags;

    // Parser calls this once at the beginning of a document
    public void startDocument() throws SAXException {
        tags = new Hashtable();
    }

    // Parser calls this for each element in a document
    public void startElement(String namespaceURI, String localName,
                             String qName, Attributes atts)
	throws SAXException
    {
        String key = localName;
        Object value = tags.get(key);
        if (value == null) {
            // Add a new entry
            tags.put(key, new Integer(1));
        } else {
            // Get the current count and increment it
            int count = ((Integer)value).intValue();
            count++;
            tags.put(key, new Integer(count));
        }
    }

    // Parser calls this once after parsing a document
    public void endDocument() throws SAXException {
        Enumeration e = tags.keys();
        while (e.hasMoreElements()) {
            String tag = (String)e.nextElement();
            int count = ((Integer)tags.get(tag)).intValue();
            System.out.println("Local Name \"" + tag + "\" occurs " + count
                               + " times");
        }
    }

    /**
     * Convert from a filename to a file URL.
     */
    private static String convertToFileURL(String filename) {
        // On JDK 1.2 and later, simplify this to:
        // "path = file.toURL().toString()".
        String path = new File(filename).getAbsolutePath();
        if (File.separatorChar != '/') {
            path = path.replace(File.separatorChar, '/');
        }
        if (!path.startsWith("/")) {
            path = "/" + path;
        }
        return "file:" + path;
    }

    private static void usage() {
        System.err.println("Usage: SAXLocalNameCount [-options] <file.xml>");
        System.err.println("       -dtd = DTD validation");
        System.err.println("       -usage or -help = this message");
        System.exit(1);
    }

    static public void main(String[] args) throws Exception {
        String filename = null;
        boolean dtdValidate = false;
        String schemaSource = null;

        // Parse arguments
        for (int i = 0; i < args.length; i++) {
            if (args[i].equals("-dtd")) {
                dtdValidate = true;
            } else if (args[i].equals("-usage")) {
                usage();
            } else if (args[i].equals("-help")) {
                usage();
            } else {
                filename = args[i];

                // Must be last arg
                if (i != args.length - 1) {
                    usage();
                }
            }
        }
        if (filename == null) {
            usage();
        }

        // There are several ways to parse a document using SAX and JAXP.
        // We show one approach here.  The first step is to bootstrap a
        // parser.  There are two ways: one is to use only the SAX API, the
        // other is to use the JAXP utility classes in the
        // javax.xml.parsers package.  We use the second approach here
        // because at the time of this writing it probably is the most
        // portable solution for a JAXP compatible parser.  After
        // bootstrapping a parser/XMLReader, there are several ways to
        // begin a parse.  In this example, we use the SAX API.

        // Create a JAXP SAXParserFactory and configure it
        SAXParserFactory spf = SAXParserFactory.newInstance();

        // Set namespaceAware to true to get a parser that corresponds to
        // the default SAX2 namespace feature setting.  This is necessary
        // because the default value from JAXP 1.0 was defined to be false.
        spf.setNamespaceAware(true);

        // Validation part 1: set whether validation is on
        spf.setValidating(dtdValidate);

        // Create a JAXP SAXParser
        SAXParser saxParser = spf.newSAXParser();



        // Get the encapsulated SAX XMLReader
        XMLReader xmlReader = saxParser.getXMLReader();

        // Set the ContentHandler of the XMLReader
        xmlReader.setContentHandler(new SAXLocalNameCount());

        // Set an ErrorHandler before parsing
        xmlReader.setErrorHandler(new MyErrorHandler(System.err));

        // Tell the XMLReader to parse the XML document
        xmlReader.parse(convertToFileURL(filename));
    }

    // Error handler to report errors and warnings
    private static class MyErrorHandler implements ErrorHandler {
        /** Error handler output goes here */
        private PrintStream out;

        MyErrorHandler(PrintStream out) {
            this.out = out;
        }

        /**
         * Returns a string describing parse exception details
         */
        private String getParseExceptionInfo(SAXParseException spe) {
            String systemId = spe.getSystemId();
            if (systemId == null) {
                systemId = "null";
            }
            String info = "URI=" + systemId +
                " Line=" + spe.getLineNumber() +
                ": " + spe.getMessage();
            return info;
        }

        // The following methods are standard SAX ErrorHandler methods.
        // See SAX documentation for more info.

        public void warning(SAXParseException spe) throws SAXException {
            out.println("Warning: " + getParseExceptionInfo(spe));
        }
        
        public void error(SAXParseException spe) throws SAXException {
            String message = "Error: " + getParseExceptionInfo(spe);
            throw new SAXException(message);
        }

        public void fatalError(SAXParseException spe) throws SAXException {
            String message = "Fatal Error: " + getParseExceptionInfo(spe);
            throw new SAXException(message);
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品三级电影| 欧美精品国产精品| 久久精品99久久久| 日韩一区欧美二区| 婷婷久久综合九色国产成人| 亚洲va中文字幕| 亚洲一区二区精品久久av| 亚洲一区在线视频| 日韩中文字幕av电影| 秋霞av亚洲一区二区三| 极品销魂美女一区二区三区| 蜜桃av一区二区| 国产精品一区二区黑丝| 国产成人免费视频网站 | 91蝌蚪国产九色| 色屁屁一区二区| 欧美在线观看视频一区二区| 日本韩国精品在线| 欧美精品久久一区二区三区| 欧美xxxxxxxxx| 欧美国产精品专区| 亚洲影院在线观看| 蜜桃久久久久久| 国产999精品久久久久久| 成人免费观看视频| 欧美日韩精品高清| 国产日韩精品视频一区| 中文字幕中文字幕一区二区| 亚洲电影你懂得| 高清视频一区二区| 欧美日韩国产中文| 国产亚洲一区字幕| 亚洲一区二区视频在线| 国产高清无密码一区二区三区| 91在线国内视频| 欧美成人三级电影在线| 亚洲色图欧美激情| 国产真实乱子伦精品视频| 91激情在线视频| 亚洲精品在线网站| 国产精品三级在线观看| 日韩精品每日更新| 成人高清视频在线观看| 5566中文字幕一区二区电影| 亚洲国产精品激情在线观看| 三级在线观看一区二区| 91网站黄www| 久久久久久久久久久电影| 亚洲成a人片在线不卡一二三区| 国产精品综合网| 精品区一区二区| 午夜欧美2019年伦理| a亚洲天堂av| 欧美国产日本韩| 国内精品伊人久久久久av影院| 精品视频免费看| 亚洲三级视频在线观看| 高清在线成人网| 国产午夜亚洲精品理论片色戒| 午夜一区二区三区视频| 一本大道久久a久久精品综合| 久久精品欧美一区二区三区不卡 | 亚洲成人午夜电影| 色综合久久中文字幕综合网| 欧美国产禁国产网站cc| 免费av网站大全久久| 欧美丰满美乳xxx高潮www| 一区二区三区四区蜜桃| 99在线精品免费| 中文字幕在线不卡国产视频| 国产精品99久| 中文一区在线播放| 成人av电影在线网| 国产精品国产三级国产三级人妇 | 一区二区国产视频| 成人av在线影院| 欧美日本乱大交xxxxx| 中文字幕欧美日韩一区| 国产精品一区二区在线观看不卡| 精品久久久久久久久久久久久久久 | 成人网男人的天堂| 五月天中文字幕一区二区| 国产精品美女www爽爽爽| 欧美精品久久天天躁| 91免费在线播放| 国产高清无密码一区二区三区| 午夜视频一区二区| 亚洲三级在线免费观看| 久久嫩草精品久久久久| 这里只有精品99re| 一本久久综合亚洲鲁鲁五月天| 九一九一国产精品| 日韩在线a电影| 一区二区三区在线免费| 国产精品网站在线播放| 欧美成人精品福利| 91精品国产一区二区人妖| 91国产成人在线| 成人h动漫精品| 国产精品一区三区| 国产曰批免费观看久久久| 美女尤物国产一区| 日韩高清国产一区在线| 亚洲国产乱码最新视频| 亚洲午夜精品网| 一区二区三区四区av| 夜夜嗨av一区二区三区中文字幕| 国产精品国模大尺度视频| 国产欧美一区二区精品久导航| ww久久中文字幕| 精品久久久久久综合日本欧美| 欧美tickle裸体挠脚心vk| 日韩免费成人网| 精品久久久久久久久久久久久久久久久 | 成人一区二区三区中文字幕| 久久99精品国产91久久来源| 免费成人av在线| 国内精品嫩模私拍在线| 国产在线播放一区三区四| 国产精品系列在线播放| 国产 欧美在线| 91麻豆6部合集magnet| 欧美日韩一区成人| 91精品欧美一区二区三区综合在| 欧美区一区二区三区| 欧美一区二区三区系列电影| 欧美电视剧在线观看完整版| 久久亚洲精华国产精华液| 国产亚洲va综合人人澡精品 | 精品国产一区二区三区久久影院| 欧美一区二区三区视频在线| 日韩美女天天操| 国产婷婷色一区二区三区| 亚洲欧美另类久久久精品2019| 午夜激情一区二区三区| 激情综合亚洲精品| 成人三级伦理片| 欧美在线影院一区二区| 日韩一区二区高清| 日本一区二区久久| 亚洲精品国产成人久久av盗摄 | 久久精品亚洲乱码伦伦中文| 18涩涩午夜精品.www| 亚洲成av人在线观看| 免费成人深夜小野草| 成人av在线影院| 91麻豆精品91久久久久久清纯| 精品久久久网站| 亚洲欧美aⅴ...| 久久精品国产成人一区二区三区 | 中文字幕在线播放不卡一区| 亚洲成av人影院| 成人午夜私人影院| 欧美精品粉嫩高潮一区二区| 欧美国产视频在线| 天使萌一区二区三区免费观看| 国产激情精品久久久第一区二区| 欧美色区777第一页| 国产校园另类小说区| 日韩av午夜在线观看| 成人av电影在线| 欧美成人高清电影在线| 一级特黄大欧美久久久| 国产成人8x视频一区二区| 91精品视频网| 亚洲自拍偷拍综合| 高清国产一区二区三区| 91精选在线观看| 国产日韩欧美制服另类| 日韩激情av在线| 成人教育av在线| 一区二区三区在线视频免费| 韩国女主播一区| 欧美激情一区二区| 免费成人性网站| 精品成人一区二区| 亚洲成人资源网| 国产午夜一区二区三区| 亚洲人xxxx| 99视频精品全部免费在线| 亚洲三级免费观看| 亚洲国产精品精华液2区45| 国产午夜精品一区二区三区四区| 五月天国产精品| 在线观看成人小视频| 最新日韩在线视频| 粉嫩嫩av羞羞动漫久久久| 日韩免费观看2025年上映的电影| 亚洲成av人片一区二区梦乃| 色婷婷国产精品综合在线观看| 国产精品久久久久久久久快鸭| 国产在线精品一区二区| 日韩欧美色电影| 麻豆成人免费电影| 精品电影一区二区三区| 蜜桃久久av一区| 久久影院视频免费| 国产麻豆精品久久一二三| 精品国产免费一区二区三区四区| 蜜臀av性久久久久蜜臀aⅴ流畅|