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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? xmlparser.java

?? J2me自動(dòng)登錄的源代碼實(shí)例 有需要的朋友可以下載
?? JAVA
字號:
/* kXML * * The contents of this file are subject to the Enhydra Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License * on the Enhydra web site ( http://www.enhydra.org/ ). * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific terms governing rights and limitations * under the License. * * The Initial Developer of kXML is Stefan Haustein. Copyright (C) * 2000, 2001 Stefan Haustein, D-46045 Oberhausen (Rhld.), * Germany. All Rights Reserved. * * Contributor(s): Paul Palaszewski, Wilhelm Fitzpatrick,  *                 Eric Foster-Johnson, Michael Angel, Jan Andrle * * */package org.kxml.parser;import java.io.*;import java.util.*;import org.kxml.*;import org.kxml.io.ParseException;/** A simple, pull based "Common XML" parser. Attention: This class has    been renamed from DefaultParser for consitency with the org.kxml.io    package. */public class XmlParser extends AbstractXmlParser {    static final String UNEXPECTED_EOF = "Unexpected EOF";         char [] buf;    boolean eof;    int bufPos;    int bufCount;    Reader reader;    boolean relaxed;    int line = 1;    int column = 1;        Vector qNames = new Vector ();        boolean immediateClose = false;    StartTag current;        /** The next event. May be null at startup. */    protected ParseEvent next;        int peekChar () throws IOException {	if (eof) return -1;		if (bufPos >= bufCount) {            if (buf.length == 1) {                int c = reader.read ();                if (c == -1) {                    eof = true;                    return -1;                }                bufCount = 1;                buf [0] = (char) c;            }            else {                bufCount = reader.read (buf, 0, buf.length);                if (bufCount == -1) {                    eof = true;                    return -1;                }            }	    bufPos = 0;	}		return buf[bufPos];    }               int readChar () throws IOException {       int p = peekChar ();       bufPos++;       column++;       if (p == 10) {	   line++;	   column = 1;       }       return p;    }        void skipWhitespace () throws IOException {	while (!eof && peekChar () <= ' ')	    readChar ();    }                public String readName () throws IOException {	int c = readChar ();	if (c < 128 && c != '_' && c != ':' 		&& (c < 'a' || c > 'z')		&& (c < 'A' || c > 'Z'))	    throw new DefaultParserException ("name expected!", null);	StringBuffer buf = new StringBuffer ();		buf.append ((char) c);	while (!eof) {	    c = peekChar ();	    	    if (c < 128 && c != '_' && c != '-' && c != ':' && c != '.' 		&& (c < '0' || c > '9')		&& (c < 'a' || c > 'z')		&& (c < 'A' || c > 'Z'))		break;	    	    buf.append ((char) readChar ());	}	return buf.toString ();    }        /** Reads chars to the given buffer until the given stopChar 	is reached. The stopChar itself is not consumed. */    public StringBuffer readTo (char stopChar,				StringBuffer buf) throws IOException {		while (!eof && peekChar () != stopChar) 	    buf.append ((char) readChar ());		return buf;    }    /** creates a new Parser based on the give reader */        class DefaultParserException extends ParseException {	DefaultParserException (String msg, Exception chained) {	    super (msg, chained, XmlParser.this.line, XmlParser.this.column);	}    }            public XmlParser (Reader reader) throws IOException {        this (reader,               Runtime.getRuntime ().freeMemory () >= 1048576 ? 8192 : 1);    }    public XmlParser (Reader reader, int bufSize) throws IOException {		this.reader = reader; //new LookAheadReader (reader);         buf = new char [bufSize];    }            public String resolveCharacterEntity (String name) throws IOException {		throw new DefaultParserException ("Undefined: &"+name+";", null);    }            /* precondition: &lt;!- consumed */        ParseEvent parseComment () throws IOException {       	StringBuffer buf = new StringBuffer ();		if (readChar () != '-') 	    throw new DefaultParserException ("'-' expected", null);		int cnt;	int lst;    	while (true) {	    readTo ('-', buf);    	    if (readChar () == -1) 		throw new DefaultParserException (UNEXPECTED_EOF, null);	    	    cnt = 0;	    do {		lst = readChar ();		cnt++;  // adds one more, but first is not cnted	    }	    while (lst == '-');	    	    if (lst == '>' && cnt >= 2) break;	    	    while (cnt-- > 0) 		buf.append ('-');	    	    buf.append ((char) lst);	}	while (cnt-- > 2) 	    buf.append ('-');		return new ParseEvent (Xml.COMMENT, buf.toString ());    }        /* precondition: &lt! consumed */             ParseEvent parseDoctype () throws IOException {		StringBuffer buf = new StringBuffer ();	int nesting = 1;		while (true) {	    int i = readChar ();	    switch (i) {	    case -1:		throw new DefaultParserException (UNEXPECTED_EOF, null);	    case '<': 		nesting++;		break;	    case '>':		if ((--nesting) == 0)		    return new ParseEvent (Xml.DOCTYPE, buf.toString ());		break;	    }	    buf.append ((char) i);	}    }            ParseEvent parseCData () throws IOException {		StringBuffer buf = readTo ('[', new StringBuffer ());		if (!buf.toString ().equals ("CDATA")) 	    throw new DefaultParserException ("Invalid CDATA start!", null);		buf.setLength (0);	readChar (); // skip '['		int c0 = readChar ();	int c1 = readChar ();		while (true) {	    int c2 = readChar ();	    	    if (c2 == -1) 		throw new DefaultParserException (UNEXPECTED_EOF, null);	    	    if (c0 == ']' && c1 == ']' && c2 == '>') 		break;	    	    buf.append ((char) c0);	    c0 = c1;	    c1 = c2;	}    	return new ParseEvent (Xml.TEXT, buf.toString ());    }                /* precondition: &lt;/ consumed */    ParseEvent parseEndTag () throws IOException {		skipWhitespace ();	String name = readName ();	skipWhitespace ();		if (readChar () != '>') 	    throw new DefaultParserException ("'>' expected", null);		int last = qNames.size ();	while (true) {	    if (last == 0) {		if (relaxed) return new ParseEvent (Xml.END_DOCUMENT, null);		throw new DefaultParserException 		    ("tagstack empty parsing </"+name+">", null);	    }	    String qName = (String) qNames.elementAt (--last);	    qNames.removeElementAt (last);	    	    if (qName.equals (name)) break; 	    if (!relaxed) throw new DefaultParserException 		("StartTag <"+qName		 +"> does not match end tag </" + name + ">", null);	    if (qName.toLowerCase ().equals (name.toLowerCase ())) break;	    current = current.parent;	}		Tag result = new Tag 	    (Xml.END_TAG, current, current.namespace, current.name);		current = current.parent;		return result;    }        /** precondition: <? consumed */        ParseEvent parsePI () throws IOException {	StringBuffer buf = new StringBuffer ();	readTo ('?', buf);	readChar (); // ?		while (peekChar () != '>') {	    buf.append ('?');	    	    int r = readChar ();	    if (r == -1) throw new DefaultParserException 		(UNEXPECTED_EOF, null);	    	    buf.append ((char) r);	    readTo ('?', buf);	    readChar ();	}		readChar ();  // consume >    	return new ParseEvent 	    (Xml.PROCESSING_INSTRUCTION, buf.toString ());    }            StartTag parseStartTag () throws IOException {	//current = new StartTag (current, reader, relaxed);		//prefixMap = parent == null ? new PrefixMap () : parent.prefixMap;	String qname = readName ();		//System.out.println ("name: ("+name+")");	        Vector attributes = null;	immediateClose = false;		while (true) { 	    skipWhitespace ();	    	    int c = peekChar ();        	    if (c == '/') {		immediateClose = true;		readChar ();		skipWhitespace ();		if (readChar () != '>') 		    throw new DefaultParserException  			("illegal element termination", null);		break;	    }	    	    if (c == '>') { 		readChar ();		break;	    }	    	    if (c == -1) 		throw new DefaultParserException (UNEXPECTED_EOF, null); 	    	    String attrName = readName ();	    	    if (attrName.length() == 0)		throw new DefaultParserException                    ("illegal char / attr", null);	    	    skipWhitespace ();		    if (readChar () != '=') 		throw new DefaultParserException 		    ("Attribute name "+attrName		     +"must be followed by '='!", null);		    skipWhitespace ();	    int delimiter = readChar ();	    	    if (delimiter != '\'' && delimiter != '"') {		if (!relaxed)		    throw new DefaultParserException 			("<" + qname + ">: invalid delimiter: " 			 + (char) delimiter, null);  						delimiter = ' ';	    }	    	    StringBuffer buf = new StringBuffer ();	    readText (buf, (char) delimiter);	    if (attributes == null) attributes = new Vector ();	    attributes.addElement 		(new Attribute (null, attrName, buf.toString ()));	    	    if (delimiter != ' ')	    readChar ();  // skip endquote	}       		try {	    current = new StartTag 		(current, Xml.NO_NAMESPACE, qname, attributes, 		 immediateClose, processNamespaces);	}       	catch (Exception e) {	    throw new DefaultParserException (e.toString (), e);	}		//System.out.println ("tag: ("+next+")");		if (!immediateClose)	    qNames.addElement (qname);		return current;    }            int readText (StringBuffer buf, char delimiter) throws IOException {		int type = Xml.WHITESPACE;	int nextChar;		while (true) {	    nextChar = peekChar ();	    if (nextChar == -1 		|| nextChar == delimiter 		|| (delimiter == ' ' 		    && (nextChar == '>' || nextChar < ' '))) break;	    	    readChar ();	    	    if (nextChar == '&') {		String code = readTo (';', new StringBuffer ()).toString ();		readChar ();				if (code.charAt (0) == '#') {		    nextChar = (code.charAt (1) == 'x' 				? Integer.parseInt (code.substring (2), 16) 				: Integer.parseInt (code.substring (1)));		    		    if (nextChar > ' ') 			type = Xml.TEXT;		    		    buf.append ((char) nextChar);           		}		else {		    if (code.equals ("lt")) buf.append ('<');		    else if (code.equals ("gt")) buf.append ('>');		    else if (code.equals ("apos")) buf.append ('\'');		    else if (code.equals ("quot")) buf.append ('"');		    else if (code.equals ("amp")) buf.append ('&');		    else buf.append (resolveCharacterEntity (code));		    		    type = Xml.TEXT;		}	    }	    else {		if (nextChar > ' ') 		    type = Xml.TEXT;		buf.append ((char) nextChar);	    }	}		return type;    }            /** precondition: &lt; consumed */    ParseEvent parseSpecial () throws IOException {    switch  (peekChar ()) {    case -1: throw new DefaultParserException         (UNEXPECTED_EOF, null);     case '!':        readChar ();        switch (peekChar ()) {        case '-':         readChar ();        return parseComment ();        case '[':        readChar ();        return parseCData ();        default:             return parseDoctype ();        }            case '?':        readChar ();        return parsePI ();    case '/':         readChar ();        return parseEndTag ();    default:         return parseStartTag ();    }    }    public ParseEvent read () throws IOException{    if (next == null)         peek ();    ParseEvent result = next;    next = null;    return result;    }    public ParseEvent peek () throws IOException {        if (next == null) {                if (immediateClose) {        next = new Tag             (Xml.END_TAG, current, current.namespace, current.name);        current = current.getParent ();        immediateClose = false;        }        else {        switch (peekChar ()) {                    case '<':             readChar ();            next = parseSpecial ();            break;                    case -1:             if (current != null && !relaxed)             throw new DefaultParserException                 ("End tag missing for: "+current, null);            next = new ParseEvent (Xml.END_DOCUMENT, null);            break;                    default:             {            StringBuffer buf = new StringBuffer ();            int type = readText (buf, '<');            next = new ParseEvent (type, buf.toString ());            }        }        }    }    return next;    }        /** default is false. Setting relaxed true    allows CHTML parsing */    public void setRelaxed (boolean relaxed) {    this.relaxed = relaxed;    }    public int getLineNumber () {	return line;    }    public int getColumnNumber () {	return column;    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区三区忘忧草| 精品少妇一区二区三区日产乱码| 奇米四色…亚洲| 国产精品你懂的| 91精品国产综合久久福利| 99久久免费国产| 精品一区二区日韩| 亚洲国产欧美日韩另类综合 | 欧美一级二级在线观看| bt7086福利一区国产| 蜜桃免费网站一区二区三区| 亚洲女人的天堂| 国产日韩欧美精品在线| 欧美日韩久久一区| 成人听书哪个软件好| 久久99热狠狠色一区二区| 亚洲aaa精品| 亚洲精品国产一区二区三区四区在线| 久久久综合精品| 日韩一级完整毛片| 91.com在线观看| 欧美亚洲高清一区| 日本韩国视频一区二区| 成人av动漫在线| 国产精品一区二区三区网站| 久久精品国产一区二区| 日韩 欧美一区二区三区| 亚洲午夜免费福利视频| 一区二区三区**美女毛片| 日韩一区欧美小说| 中文字幕在线一区免费| 国产精品女上位| 国产精品久久二区二区| 中文字幕中文字幕在线一区| 国产欧美日韩激情| 欧美激情在线观看视频免费| 国产亚洲一本大道中文在线| 欧美精品一区二区精品网| 欧美xxx久久| 26uuu精品一区二区 | 国产精品短视频| 国产精品色哟哟| 中文字幕在线不卡一区二区三区 | 国产精品久久精品日日| 国产精品美女久久久久久| 国产精品福利一区二区| **性色生活片久久毛片| 一区二区三区自拍| 午夜日韩在线电影| 蜜桃视频在线观看一区二区| 麻豆国产欧美一区二区三区| 经典三级一区二区| 国产传媒一区在线| 91色.com| 制服丝袜中文字幕亚洲| 日韩欧美国产一区二区在线播放 | 日本福利一区二区| 欧美日韩五月天| 日韩美女视频在线| 国产亚洲福利社区一区| 亚洲色图视频网站| 国产在线精品免费| 国产精品亚洲人在线观看| 成人a免费在线看| 欧美日韩和欧美的一区二区| 日韩精品最新网址| 国产免费成人在线视频| 亚洲影院免费观看| 久久国产精品99久久人人澡| 福利一区二区在线观看| 欧亚一区二区三区| 精品久久久久久亚洲综合网| 国产精品久久精品日日| 亚洲成av人影院在线观看网| 精品一区二区久久| 9人人澡人人爽人人精品| 欧美久久久久久蜜桃| 久久久久久久综合| 亚洲成人一区在线| 国产精品影视天天线| 91高清视频免费看| 精品成人一区二区| 亚洲另类在线一区| 国产综合久久久久影院| 色综合天天性综合| 日韩视频免费观看高清完整版在线观看| 亚洲精品在线免费观看视频| 亚洲情趣在线观看| 狠狠网亚洲精品| 欧美亚洲国产一区二区三区 | 中文在线免费一区三区高中清不卡| 又紧又大又爽精品一区二区| 黄页视频在线91| 欧美在线观看视频一区二区| 国产亚洲精品久| 免费成人结看片| 一本色道亚洲精品aⅴ| 26uuu国产一区二区三区| 亚洲国产成人va在线观看天堂| 国产一区二区电影| 91精品国产综合久久小美女| 中文字幕中文字幕在线一区| 精品一区二区av| 欧美日韩和欧美的一区二区| 亚洲人成影院在线观看| 国产一本一道久久香蕉| 欧美一区二区三区在线看| 亚洲小说春色综合另类电影| gogo大胆日本视频一区| 久久久蜜桃精品| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美激情在线观看视频免费| 日本欧美一区二区三区| 在线观看视频一区| 亚洲女与黑人做爰| 成人开心网精品视频| 日韩精品自拍偷拍| 日本美女一区二区三区视频| 欧美日韩一区二区在线观看视频 | 国产亚洲精品精华液| 蜜臀av在线播放一区二区三区| 欧美三级中文字幕在线观看| 亚洲免费在线播放| 成人av电影在线| 国产精品美女视频| 成人三级伦理片| 国产精品色一区二区三区| 国产成人精品综合在线观看| 久久丝袜美腿综合| 国产一区二区三区高清播放| www欧美成人18+| 国产一区二区伦理| 久久九九久久九九| 国产精品1区2区| 国产色一区二区| 国产91色综合久久免费分享| 国产色产综合产在线视频| 国产激情视频一区二区三区欧美| 26uuu另类欧美| 国产精品一区免费视频| 亚洲国产精品v| 99精品欧美一区二区三区小说 | 久久 天天综合| 精品噜噜噜噜久久久久久久久试看 | 精品91自产拍在线观看一区| 精品系列免费在线观看| 久久久电影一区二区三区| 风间由美一区二区av101| 国产精品区一区二区三| 91啦中文在线观看| 午夜精品一区二区三区电影天堂| 欧美一区二区三区精品| 极品少妇xxxx精品少妇| 欧美激情一区二区三区全黄| av影院午夜一区| 亚洲一区二区欧美日韩| 日韩视频不卡中文| 国产精品69毛片高清亚洲| 亚洲男人天堂av网| 91精品国产入口在线| 国产精品正在播放| 亚洲精品视频在线看| 欧美精品日日鲁夜夜添| 国产精品综合二区| 亚洲丝袜另类动漫二区| 欧美人体做爰大胆视频| 狠狠久久亚洲欧美| 亚洲人成伊人成综合网小说| 3d成人动漫网站| 成人黄色综合网站| 丝袜亚洲另类欧美| 国产调教视频一区| 欧美视频一区二区三区四区| 久久国产精品露脸对白| 国产精品视频免费| 风流少妇一区二区| 亚洲精品成a人| 欧美xxx久久| caoporn国产精品| 日韩中文字幕1| 中文字幕一区二区视频| 欧美一区二区观看视频| fc2成人免费人成在线观看播放| 9色porny自拍视频一区二区| 亚洲在线视频免费观看| 91精品国产色综合久久久蜜香臀| 久久国产精品色| 欧美韩国日本不卡| 色综合一区二区三区| 天天色 色综合| 久久先锋影音av鲁色资源网| 成人午夜在线播放| 夜夜嗨av一区二区三区网页| 欧美日韩大陆在线| 国产乱人伦偷精品视频不卡| 国产精品久久久久影院亚瑟| 欧美日韩美女一区二区| 久久99精品国产.久久久久| 欧美经典一区二区| 日本精品裸体写真集在线观看|