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

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

?? wbxmlparser.java

?? < JavaME核心技術最佳實踐>>的全部源代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* Copyright (c) 2002,2003,2004 Stefan Haustein, Oberhausen, Rhld., Germany * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The  above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */// Contributors: Bjorn Aadland, Chris Bartley, Nicola Fankhauser, //               Victor Havin,  Christian Kurzke, Bogdan Onoiu,//               Jain Sanjay, David Santoro.package org.kxml2.wap;import java.io.*;import java.util.Vector;import org.xmlpull.v1.*;public class WbxmlParser implements XmlPullParser {    public static final int WAP_EXTENSION = 64;    static final private String UNEXPECTED_EOF =        "Unexpected EOF";    static final private String ILLEGAL_TYPE =        "Wrong event type";    private InputStream in;	private int TAG_TABLE = 0;	private int ATTR_START_TABLE = 1;	private int ATTR_VALUE_TABLE = 2;    private String[] attrStartTable;    private String[] attrValueTable;    private String[] tagTable;    private String stringTable;    private boolean processNsp;    private int depth;    private String[] elementStack = new String[16];    private String[] nspStack = new String[8];    private int[] nspCounts = new int[4];    private int attributeCount;    private String[] attributes = new String[16];	private int nextId = -2;	private Vector tables = new Vector();    int version;    int publicIdentifierId;    int charSet;    //    StartTag current;    //    ParseEvent next;    private String prefix;    private String namespace;    private String name;    private String text;    //	private String encoding;    private Object wapExtensionData;    private int wapExtensionCode;    private int type;	private int codePage;    private boolean degenerated;    private boolean isWhitespace;    public boolean getFeature(String feature) {        if (XmlPullParser            .FEATURE_PROCESS_NAMESPACES            .equals(feature))            return processNsp;        else            return false;    }    public String getInputEncoding() {        // should return someting depending on charSet here!!!!!        return null;    }    public void defineEntityReplacementText(        String entity,        String value)        throws XmlPullParserException {        // just ignore, has no effect    }    public Object getProperty(String property) {        return null;    }    public int getNamespaceCount(int depth) {        if (depth > this.depth)            throw new IndexOutOfBoundsException();        return nspCounts[depth];    }    public String getNamespacePrefix(int pos) {        return nspStack[pos << 1];    }    public String getNamespaceUri(int pos) {        return nspStack[(pos << 1) + 1];    }    public String getNamespace(String prefix) {        if ("xml".equals(prefix))            return "http://www.w3.org/XML/1998/namespace";        if ("xmlns".equals(prefix))            return "http://www.w3.org/2000/xmlns/";        for (int i = (getNamespaceCount(depth) << 1) - 2;            i >= 0;            i -= 2) {            if (prefix == null) {                if (nspStack[i] == null)                    return nspStack[i + 1];            }            else if (prefix.equals(nspStack[i]))                return nspStack[i + 1];        }        return null;    }    public int getDepth() {        return depth;    }    public String getPositionDescription() {        StringBuffer buf =            new StringBuffer(                type < TYPES.length ? TYPES[type] : "unknown");        buf.append(' ');        if (type == START_TAG || type == END_TAG) {            if (degenerated)                buf.append("(empty) ");            buf.append('<');            if (type == END_TAG)                buf.append('/');            if (prefix != null)                buf.append("{" + namespace + "}" + prefix + ":");            buf.append(name);            int cnt = attributeCount << 2;            for (int i = 0; i < cnt; i += 4) {                buf.append(' ');                if (attributes[i + 1] != null)                    buf.append(                        "{"                            + attributes[i]                            + "}"                            + attributes[i                            + 1]                            + ":");                buf.append(                    attributes[i                        + 2]                        + "='"                        + attributes[i                        + 3]                        + "'");            }            buf.append('>');        }        else if (type == IGNORABLE_WHITESPACE);        else if (type != TEXT)            buf.append(getText());        else if (isWhitespace)            buf.append("(whitespace)");        else {            String text = getText();            if (text.length() > 16)                text = text.substring(0, 16) + "...";            buf.append(text);        }        return buf.toString();    }    public int getLineNumber() {        return -1;    }    public int getColumnNumber() {        return -1;    }    public boolean isWhitespace()        throws XmlPullParserException {        if (type != TEXT            && type != IGNORABLE_WHITESPACE            && type != CDSECT)            exception(ILLEGAL_TYPE);        return isWhitespace;    }    public String getText() {        return text;    }    public char[] getTextCharacters(int[] poslen) {        if (type >= TEXT) {            poslen[0] = 0;            poslen[1] = text.length();            char[] buf = new char[text.length()];            text.getChars(0, text.length(), buf, 0);            return buf;        }        poslen[0] = -1;        poslen[1] = -1;        return null;    }    public String getNamespace() {        return namespace;    }    public String getName() {        return name;    }    public String getPrefix() {        return prefix;    }    public boolean isEmptyElementTag()        throws XmlPullParserException {        if (type != START_TAG)            exception(ILLEGAL_TYPE);        return degenerated;    }    public int getAttributeCount() {        return attributeCount;    }    public String getAttributeType(int index) {        return "CDATA";    }    public boolean isAttributeDefault(int index) {        return false;    }    public String getAttributeNamespace(int index) {        if (index >= attributeCount)            throw new IndexOutOfBoundsException();        return attributes[index << 2];    }    public String getAttributeName(int index) {        if (index >= attributeCount)            throw new IndexOutOfBoundsException();        return attributes[(index << 2) + 2];    }    public String getAttributePrefix(int index) {        if (index >= attributeCount)            throw new IndexOutOfBoundsException();        return attributes[(index << 2) + 1];    }    public String getAttributeValue(int index) {        if (index >= attributeCount)            throw new IndexOutOfBoundsException();        return attributes[(index << 2) + 3];    }    public String getAttributeValue(        String namespace,        String name) {        for (int i = (attributeCount << 2) - 4;            i >= 0;            i -= 4) {            if (attributes[i + 2].equals(name)                && (namespace == null                    || attributes[i].equals(namespace)))                return attributes[i + 3];        }        return null;    }    public int getEventType() throws XmlPullParserException {        return type;    }    public int next() throws XmlPullParserException, IOException {        isWhitespace = true;        int minType = 9999;        while (true) {			String save = text;            nextImpl();            if (type < minType)                minType = type;			if (minType > CDSECT) continue; // no "real" event so far			if (minType >= TEXT) {  // text, see if accumulate								if (save != null) text = text == null ? save : save + text;								switch(peekId()) {					case Wbxml.ENTITY:					case Wbxml.STR_I:					case Wbxml.LITERAL:					case Wbxml.LITERAL_C:					case Wbxml.LITERAL_A:					case Wbxml.LITERAL_AC: continue;				}			}				            break;         }        type = minType;        if (type > TEXT)            type = TEXT;        return type;    }    public int nextToken() throws XmlPullParserException, IOException {        isWhitespace = true;        nextImpl();        return type;    }    public int nextTag() throws XmlPullParserException, IOException {        next();        if (type == TEXT && isWhitespace)            next();        if (type != END_TAG && type != START_TAG)            exception("unexpected type");        return type;    }    public String nextText() throws XmlPullParserException, IOException {        if (type != START_TAG)            exception("precondition: START_TAG");        next();        String result;        if (type == TEXT) {            result = getText();            next();        }        else            result = "";        if (type != END_TAG)            exception("END_TAG expected");        return result;    }    public void require(int type, String namespace, String name)        throws XmlPullParserException, IOException {        if (type != this.type            || (namespace != null && !namespace.equals(getNamespace()))            || (name != null && !name.equals(getName())))            exception(                "expected: " + TYPES[type] + " {" + namespace + "}" + name);    }	public void setInput(Reader reader) throws XmlPullParserException {		exception("InputStream required");	}    public void setInput(InputStream in, String enc)        throws XmlPullParserException {        this.in = in;        try {            version = readByte();            publicIdentifierId = readInt();            if (publicIdentifierId == 0)                readInt();            charSet = readInt(); // skip charset            int strTabSize = readInt();            StringBuffer buf = new StringBuffer(strTabSize);            for (int i = 0; i < strTabSize; i++)                buf.append((char) readByte());	        stringTable = buf.toString();	        	   //     System.out.println("String table: "+stringTable);	    //    System.out.println("String table length: "+stringTable.length());	        	        selectPage(0, true);			selectPage(0, false);        }        catch (IOException e) {            exception("Illegal input format");        }    }    public void setFeature(String feature, boolean value)        throws XmlPullParserException {        if (XmlPullParser.FEATURE_PROCESS_NAMESPACES.equals(feature))            processNsp = value;        else            exception("unsupported feature: " + feature);    }    public void setProperty(String property, Object value)        throws XmlPullParserException {        throw new XmlPullParserException("unsupported property: " + property);    }    // ---------------------- private / internal methods    private final boolean adjustNsp()        throws XmlPullParserException {        boolean any = false;        for (int i = 0; i < attributeCount << 2; i += 4) {            // * 4 - 4; i >= 0; i -= 4) {            String attrName = attributes[i + 2];            int cut = attrName.indexOf(':');            String prefix;            if (cut != -1) {                prefix = attrName.substring(0, cut);                attrName = attrName.substring(cut + 1);            }            else if (attrName.equals("xmlns")) {                prefix = attrName;                attrName = null;            }            else                continue;            if (!prefix.equals("xmlns")) {                any = true;            }            else {                int j = (nspCounts[depth]++) << 1;                nspStack = ensureCapacity(nspStack, j + 2);                nspStack[j] = attrName;                nspStack[j + 1] = attributes[i + 3];                if (attrName != null                    && attributes[i + 3].equals(""))                    exception("illegal empty namespace");                //  prefixMap = new PrefixMap (prefixMap, attrName, attr.getValue ());                //System.out.println (prefixMap);                System.arraycopy(                    attributes,                    i + 4,                    attributes,                    i,                    ((--attributeCount) << 2) - i);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一二三区精品视频| 国产精品三级av| 日本午夜一区二区| 91精品国产91久久久久久一区二区| 亚洲综合视频在线| 欧美日韩另类一区| 日本不卡一区二区| 日韩欧美综合在线| 紧缚奴在线一区二区三区| 久久尤物电影视频在线观看| 国产成人综合在线| 亚洲女人****多毛耸耸8| 91黄色激情网站| 欧美aaa在线| 欧美videossexotv100| 国产露脸91国语对白| 国产精品久久一卡二卡| 欧美色国产精品| 久久国产三级精品| 国产精品福利影院| 欧美三级电影在线观看| 激情另类小说区图片区视频区| 久久看人人爽人人| 91极品视觉盛宴| 蜜桃av一区二区三区电影| 欧美激情一区不卡| 欧美精三区欧美精三区| 极品瑜伽女神91| 亚洲欧美偷拍卡通变态| 欧美电视剧在线观看完整版| 成人综合激情网| 日韩中文字幕一区二区三区| 久久久精品日韩欧美| 欧洲生活片亚洲生活在线观看| 日韩激情一二三区| 中文子幕无线码一区tr| 欧美无乱码久久久免费午夜一区| 国内精品嫩模私拍在线| 亚洲狠狠丁香婷婷综合久久久| 日韩免费观看2025年上映的电影| 成人国产精品免费网站| 美女网站色91| 一区二区三区免费| 欧美激情一二三区| 欧美成人vr18sexvr| 在线免费不卡电影| 国产高清视频一区| 亚洲一区二区三区在线看| 26uuu亚洲| 777奇米四色成人影色区| 国产精品中文字幕一区二区三区| 亚洲电影一级黄| 中文字幕视频一区| 久久久久久久久久看片| 欧美精品三级日韩久久| 91丝袜国产在线播放| 狠狠网亚洲精品| 日韩不卡一区二区| 亚洲一区中文日韩| 国产精品久久久久桃色tv| 亚洲精品一区二区精华| 欧美一区二区三区视频免费| 91福利国产精品| 99re这里都是精品| 成人av影视在线观看| 国产尤物一区二区| 精品亚洲porn| 经典三级一区二区| 美国av一区二区| 五月开心婷婷久久| 日韩中文字幕91| 亚洲国产sm捆绑调教视频| 亚洲欧美日韩国产成人精品影院| 国产蜜臀av在线一区二区三区| 欧美一区二区三区在| 欧美日韩精品一区二区三区四区| av中文一区二区三区| 成人亚洲精品久久久久软件| 国产一区二区导航在线播放| 秋霞成人午夜伦在线观看| 日欧美一区二区| 轻轻草成人在线| 男人的天堂久久精品| 蜜臀a∨国产成人精品| 久久精品国产精品亚洲精品| 美女视频黄a大片欧美| 精品一区二区在线看| 韩国成人在线视频| 国产精品538一区二区在线| 激情另类小说区图片区视频区| 久久国产麻豆精品| 国产精品一级黄| 国产精品自拍网站| 成人av免费在线播放| 色婷婷综合久久久| 欧美日韩在线播放三区| 91精品国产福利在线观看| 精品日本一线二线三线不卡| 久久久久久久久久电影| 国产精品久久毛片| 一区二区免费在线| 日本在线观看不卡视频| 国产精品一二三四五| 成人综合日日夜夜| 欧美午夜精品久久久久久超碰| 精品视频一区二区三区免费| 日韩一区二区精品在线观看| 国产日本一区二区| 亚洲主播在线观看| 免费成人美女在线观看| 国产成人综合在线播放| 91麻豆国产精品久久| 欧美老肥妇做.爰bbww| 精品国产一区二区亚洲人成毛片| 国产欧美日韩亚州综合| 亚洲日本护士毛茸茸| 免费成人av资源网| 成人国产在线观看| 91精品国产欧美一区二区成人| 国产欧美日产一区| 亚洲午夜成aⅴ人片| 国产综合成人久久大片91| 91同城在线观看| 精品日韩一区二区| 亚洲丝袜制服诱惑| 精品一区二区三区久久| 色综合久久久久综合99| 日韩欧美亚洲一区二区| 亚洲精品福利视频网站| 国产乱人伦偷精品视频免下载 | 麻豆国产91在线播放| 成人在线综合网站| 91精品国产高清一区二区三区蜜臀| 国产精品久久久久久久久久免费看 | 久久老女人爱爱| 亚洲成人久久影院| 国产成人av网站| 51午夜精品国产| 亚洲天堂中文字幕| 色综合网站在线| 日韩视频国产视频| 亚洲美女视频在线| 成人午夜电影久久影院| 欧美成人免费网站| 午夜不卡av免费| 91丨九色丨尤物| 国产片一区二区| 日本不卡123| 欧美日韩一级黄| 亚洲三级在线观看| 国产精品一区二区久久不卡| 91麻豆精品久久久久蜜臀| 亚洲一区二区三区精品在线| 成人精品gif动图一区| 欧美电影免费提供在线观看| 五月激情综合网| 色婷婷久久久综合中文字幕| 中文字幕不卡的av| 国产成人亚洲综合a∨猫咪| 欧美成人免费网站| 开心九九激情九九欧美日韩精美视频电影| 在线视频你懂得一区二区三区| 久久综合狠狠综合久久激情| 蜜桃传媒麻豆第一区在线观看| 欧美性猛片aaaaaaa做受| 亚洲人成亚洲人成在线观看图片| 国产成人午夜99999| 国产农村妇女毛片精品久久麻豆| 麻豆国产一区二区| 欧美一级欧美一级在线播放| 视频一区视频二区在线观看| 精品视频在线免费看| 亚洲bt欧美bt精品777| 欧美精品色综合| 美女在线一区二区| 精品国产99国产精品| 国产综合久久久久久久久久久久 | 欧美写真视频网站| 艳妇臀荡乳欲伦亚洲一区| 91国偷自产一区二区三区成为亚洲经典| 日韩理论片网站| 91片在线免费观看| 亚洲图片自拍偷拍| 欧美一区午夜视频在线观看| 美女视频黄久久| 国产清纯白嫩初高生在线观看91 | 99久精品国产| 一级中文字幕一区二区| 欧美色偷偷大香| 免费看黄色91| 2020日本不卡一区二区视频| 国产激情偷乱视频一区二区三区 | 久久综合九色综合久久久精品综合| 精品一区二区三区免费| 国产日韩av一区| 色av成人天堂桃色av| 轻轻草成人在线| 中文字幕+乱码+中文字幕一区| 99久久国产综合精品麻豆| 亚洲成在人线在线播放|