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

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

?? kxmlparser.java

?? wap瀏覽器 日程安排 Rss 棋牌游戲
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/* Copyright (c) 2002,2003, 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. */package org.kxml2.io;import java.io.*;import java.util.*;import org.xmlpull.v1.*;/** A simple, pull based XML parser. This classe replaces the kXML 1    XmlParser class and the corresponding event classes. */public class KXmlParser implements XmlPullParser {    private Object location;	static final private String UNEXPECTED_EOF = "Unexpected EOF";    static final private String ILLEGAL_TYPE = "Wrong event type";    static final private int LEGACY = 999;    static final private int XML_DECL = 998;    // general    private String version;    private Boolean standalone;    private boolean processNsp;    private boolean relaxed;    private Hashtable entityMap;    private int depth;    private String[] elementStack = new String[16];    private String[] nspStack = new String[8];    private int[] nspCounts = new int[4];    // source    private Reader reader;    private String encoding;    private char[] srcBuf;    private int srcPos;    private int srcCount;    private int line;    private int column;    // txtbuffer    private char[] txtBuf = new char[128];    private int txtPos;    // Event-related    private int type;    //private String text;    private boolean isWhitespace;    private String namespace;    private String prefix;    private String name;    private boolean degenerated;    private int attributeCount;    private String[] attributes = new String[16];    private int stackMismatch = 0;    private String error;    /**      * A separate peek buffer seems simpler than managing     * wrap around in the first level read buffer */    private int[] peek = new int[2];    private int peekCount;    private boolean wasCR;    private boolean unresolved;    private boolean token;    public KXmlParser() {        srcBuf =            new char[Runtime.getRuntime().freeMemory() >= 1048576 ? 8192 : 128];    }    private final boolean isProp(String n1, boolean prop, String n2) {        if (!n1.startsWith("http://xmlpull.org/v1/doc/"))            return false;        if (prop)            return n1.substring(42).equals(n2);        else            return n1.substring(40).equals(n2);    }    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(""))                    error("illegal empty namespace");                //  prefixMap = new PrefixMap (prefixMap, attrName, attr.getValue ());                //System.out.println (prefixMap);                System.arraycopy(                    attributes,                    i + 4,                    attributes,                    i,                    ((--attributeCount) << 2) - i);                i -= 4;            }        }        if (any) {            for (int i = (attributeCount << 2) - 4; i >= 0; i -= 4) {                String attrName = attributes[i + 2];                int cut = attrName.indexOf(':');                if (cut == 0 && !relaxed)                    throw new RuntimeException(                        "illegal attribute name: " + attrName + " at " + this);                else if (cut != -1) {                    String attrPrefix = attrName.substring(0, cut);                    attrName = attrName.substring(cut + 1);                    String attrNs = getNamespace(attrPrefix);                    if (attrNs == null && !relaxed)                        throw new RuntimeException(                            "Undefined Prefix: " + attrPrefix + " in " + this);                    attributes[i] = attrNs;                    attributes[i + 1] = attrPrefix;                    attributes[i + 2] = attrName;                    /*                                        if (!relaxed) {                                            for (int j = (attributeCount << 2) - 4; j > i; j -= 4)                                                if (attrName.equals(attributes[j + 2])                                                    && attrNs.equals(attributes[j]))                                                    exception(                                                        "Duplicate Attribute: {"                                                            + attrNs                                                            + "}"                                                            + attrName);                                        }                        */                }            }        }        int cut = name.indexOf(':');        if (cut == 0)            error("illegal tag name: " + name);        if (cut != -1) {            prefix = name.substring(0, cut);            name = name.substring(cut + 1);        }        this.namespace = getNamespace(prefix);        if (this.namespace == null) {            if (prefix != null)                error("undefined prefix: " + prefix);            this.namespace = NO_NAMESPACE;        }        return any;    }    private final String[] ensureCapacity(String[] arr, int required) {        if (arr.length >= required)            return arr;        String[] bigger = new String[required + 16];        System.arraycopy(arr, 0, bigger, 0, arr.length);        return bigger;    }    private final void error(String desc) throws XmlPullParserException {        if (relaxed) {            if (error == null)                error = "ERR: " + desc;        }        else            exception(desc);    }    private final void exception(String desc) throws XmlPullParserException {        throw new XmlPullParserException(            desc.length() < 100 ? desc : desc.substring(0, 100) + "\n",            this,            null);    }    /**      * common base for next and nextToken. Clears the state, except from      * txtPos and whitespace. Does not set the type variable */    private final void nextImpl() throws IOException, XmlPullParserException {		//System.out.println("Enter KXmlParser.nextImpl");		        if (reader == null)            exception("No Input specified");        if (type == END_TAG)            depth--;        while (true) {            attributeCount = -1;			// degenerated needs to be handled before error because of possible			// processor expectations(!)			if (degenerated) {				degenerated = false;				type = END_TAG;				return;			}            if (error != null) {                for (int i = 0; i < error.length(); i++)                    push(error.charAt(i));                //				text = error;                error = null;                type = COMMENT;                return;            }            if (relaxed                && (stackMismatch > 0 || (peek(0) == -1 && depth > 0))) {                int sp = (depth - 1) << 2;                type = END_TAG;                namespace = elementStack[sp];                prefix = elementStack[sp + 1];                name = elementStack[sp + 2];                if (stackMismatch != 1)                    error = "missing end tag /" + name + " inserted";                if (stackMismatch > 0)                    stackMismatch--;                return;            }            prefix = null;            name = null;            namespace = null;            //            text = null;            type = peekType();            switch (type) {                case ENTITY_REF :                    pushEntity();                    return;                case START_TAG :                    parseStartTag(false);                    return;                case END_TAG :                    parseEndTag();                    return;                case END_DOCUMENT :                    return;                case TEXT :                    pushText('<', !token);                    if (depth == 0) {                        if (isWhitespace)                            type = IGNORABLE_WHITESPACE;                        // make exception switchable for instances.chg... !!!!                        //	else                         //    exception ("text '"+getText ()+"' not allowed outside root element");                    }                    return;                default :                    type = parseLegacy(token);                    if (type != XML_DECL)                        return;            }        }    }    private final int parseLegacy(boolean push)        throws IOException, XmlPullParserException {        String req = "";        int term;        int result;        int prev = 0;        read(); // <        int c = read();        if (c == '?') {            if ((peek(0) == 'x' || peek(0) == 'X')                && (peek(1) == 'm' || peek(1) == 'M')) {                if (push) {                    push(peek(0));                    push(peek(1));                }                read();                read();                if ((peek(0) == 'l' || peek(0) == 'L') && peek(1) <= ' ') {                    if (line != 1 || column > 4)                        error("PI must not start with xml");                    parseStartTag(true);                    if (attributeCount < 1 || !"version".equals(attributes[2]))                        error("version expected");                    version = attributes[3];                    int pos = 1;                    if (pos < attributeCount                        && "encoding".equals(attributes[2 + 4])) {                        encoding = attributes[3 + 4];                        pos++;                    }                    if (pos < attributeCount                        && "standalone".equals(attributes[4 * pos + 2])) {                        String st = attributes[3 + 4 * pos];                        if ("yes".equals(st))                            standalone = new Boolean(true);                        else if ("no".equals(st))                            standalone = new Boolean(false);                        else                            error("illegal standalone value: " + st);                        pos++;                    }                    if (pos != attributeCount)                        error("illegal xmldecl");                    isWhitespace = true;                    txtPos = 0;                    return XML_DECL;                }            }            /*            int c0 = read ();                        int c1 = read ();                        int */            term = '?';            result = PROCESSING_INSTRUCTION;        }        else if (c == '!') {            if (peek(0) == '-') {                result = COMMENT;                req = "--";                term = '-';            }            else if (peek(0) == '[') {                result = CDSECT;                req = "[CDATA[";                term = ']';                push = true;            }            else {                result = DOCDECL;                req = "DOCTYPE";                term = -1;            }        }        else {            error("illegal: <" + c);            return COMMENT;        }        for (int i = 0; i < req.length(); i++)            read(req.charAt(i));        if (result == DOCDECL)            parseDoctype(push);        else {            while (true) {                c = read();                if (c == -1){                    error(UNEXPECTED_EOF);                    return COMMENT;                }                if (push)                    push(c);                if ((term == '?' || c == term)                    && peek(0) == term                    && peek(1) == '>')                    break;                prev = c;            }            if (term == '-' && prev == '-')                error("illegal comment delimiter: --->");            read();            read();            if (push && term != '?')                txtPos--;        }        return result;    }    /** precondition: &lt! consumed */    private final void parseDoctype(boolean push)        throws IOException, XmlPullParserException {        int nesting = 1;        boolean quoted = false;        // read();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久影院午夜片一区| 一区二区三区精品视频| 欧美日韩国产经典色站一区二区三区| 国产高清久久久久| 激情六月婷婷综合| 蜜桃久久精品一区二区| 天天色天天操综合| 久久精品人人爽人人爽| 久久久久久综合| 精品av综合导航| 欧美一区三区四区| 99久久国产综合精品女不卡| 成人一区二区三区视频| 国产91丝袜在线观看| 国产精品亚洲专一区二区三区| 日韩国产在线一| 石原莉奈在线亚洲二区| 亚洲色图欧美在线| 亚洲三级久久久| 亚洲免费电影在线| 亚洲一区二区三区不卡国产欧美| 亚洲一区二区精品视频| 亚洲亚洲精品在线观看| 亚洲一区二区偷拍精品| 日韩一区欧美小说| 一区二区三区欧美亚洲| 亚洲永久免费av| 婷婷综合在线观看| 夜夜操天天操亚洲| 亚洲精品va在线观看| 亚洲一二三四在线| 免费成人美女在线观看.| 欧美a一区二区| 国产真实乱子伦精品视频| 高清av一区二区| 不卡电影一区二区三区| 在线观看国产日韩| 欧美一区二区视频网站| 欧美变态tickle挠乳网站| 久久久精品天堂| 亚洲欧美怡红院| 亚洲一区二区三区美女| 人人狠狠综合久久亚洲| 国产精品18久久久久| av一区二区不卡| 欧美日韩国产免费一区二区 | 欧美va亚洲va香蕉在线 | 香蕉成人伊视频在线观看| 蜜桃视频在线观看一区二区| 国产高清精品网站| 91蝌蚪国产九色| 91精品国产综合久久精品| 久久先锋影音av鲁色资源| 国产精品灌醉下药二区| 免费在线成人网| 成人丝袜18视频在线观看| 欧美亚洲动漫另类| 337p粉嫩大胆噜噜噜噜噜91av| 国产精品情趣视频| 午夜电影网亚洲视频| 国产91精品免费| 7777精品伊人久久久大香线蕉经典版下载| 91精品在线观看入口| 欧美激情在线观看视频免费| 中文字幕中文字幕一区二区| 视频一区二区欧美| 国产福利一区二区| 91免费视频大全| 日韩欧美一区电影| 亚洲免费毛片网站| 狠狠色丁香婷婷综合| 欧美视频一区二区三区四区 | 懂色一区二区三区免费观看| 欧美性淫爽ww久久久久无| 欧美xxx久久| 亚洲一区二区影院| 东方欧美亚洲色图在线| 欧美v日韩v国产v| 亚洲黄网站在线观看| 精品中文字幕一区二区小辣椒| 日本韩国欧美一区二区三区| 精品日韩一区二区三区免费视频| 亚洲免费观看高清| 麻豆国产欧美日韩综合精品二区| 一本色道久久综合亚洲91| 久久免费美女视频| 日韩国产精品久久久久久亚洲| 99久久精品国产观看| 久久综合九色综合97_久久久| 一区二区三区久久| jiyouzz国产精品久久| 欧美tickle裸体挠脚心vk| 亚洲一区二区在线播放相泽 | 国产福利91精品| 91精品在线免费| 亚洲大尺度视频在线观看| 成人黄色在线视频| 久久中文娱乐网| 美国av一区二区| 欧美一区二区在线视频| 夜夜亚洲天天久久| 色综合色狠狠天天综合色| 国产欧美一区二区三区鸳鸯浴| 蜜桃精品视频在线| 成人三级在线视频| 国产精品久久久久久久久图文区| 国产精品综合在线视频| 欧美大片国产精品| 亚洲成人高清在线| 欧美一区二区三区不卡| 久久久不卡网国产精品二区| 国产美女精品人人做人人爽| 久久精品人人做人人爽人人| 国产69精品久久99不卡| 中文字幕一区二区在线观看| 91一区二区三区在线观看| 久久精品一区二区三区不卡| 国产老肥熟一区二区三区| 精品久久久久久无| 蜜桃视频一区二区三区在线观看 | 欧美一区二区视频在线观看| 免费人成黄页网站在线一区二区| 欧美一区二区在线播放| 免费高清成人在线| 欧美大白屁股肥臀xxxxxx| 免费高清在线一区| 日韩精品一区二区三区视频播放 | 婷婷六月综合亚洲| 91麻豆精品国产91久久久久久 | www.成人网.com| 国产偷v国产偷v亚洲高清| 成人免费视频免费观看| 中文字幕在线一区免费| 91丝袜美腿高跟国产极品老师| 国产精品久久久久婷婷二区次| 不卡av电影在线播放| 国产精品免费视频网站| 色天天综合久久久久综合片| 一区二区三区国产| 日本韩国精品在线| 裸体一区二区三区| 欧美成人bangbros| 国产成人在线观看免费网站| 国产精品久久久久久久浪潮网站 | 国产成人鲁色资源国产91色综| 国产女同性恋一区二区| 99久久99久久精品国产片果冻 | 成人免费毛片a| 亚洲精品国产精华液| 欧美电影一区二区| 国产中文一区二区三区| 日韩理论电影院| 欧美成人免费网站| 成人sese在线| 午夜精品久久久久久久久久| 精品免费日韩av| 国产精品18久久久久久vr| 亚洲一区二区三区四区不卡| 欧美不卡一区二区| 不卡的av网站| 日韩不卡一二三区| 精品国产不卡一区二区三区| 色成人在线视频| 免费成人在线播放| 亚洲天堂av老司机| 欧美一区二区三区系列电影| 国产乱码一区二区三区| 午夜视频一区在线观看| 欧美极品aⅴ影院| 欧美日本视频在线| 国产成人av电影在线观看| 午夜精品免费在线| 中文字幕一区在线观看视频| 91精品国产91热久久久做人人| 成人久久久精品乱码一区二区三区| 亚洲午夜激情网页| 国产嫩草影院久久久久| 91 com成人网| av一区二区三区四区| 激情另类小说区图片区视频区| 夜夜精品视频一区二区| 亚洲欧洲另类国产综合| 精品日韩欧美在线| 欧美私模裸体表演在线观看| 国产99久久久久久免费看农村| 中文字幕一区三区| 日本一区二区三区久久久久久久久不 | 国产真实乱偷精品视频免| 亚洲女女做受ⅹxx高潮| 国产精品成人网| 精品国产乱码久久久久久久 | 欧美一区欧美二区| 91免费精品国自产拍在线不卡| 国产在线精品免费av| 亚洲精品国产精品乱码不99| 亚洲欧美一区二区三区国产精品| 久久久精品综合| 亚洲精品一区二区在线观看| 777欧美精品| 欧美人体做爰大胆视频|