⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treeparser.java

📁 手机程序在线投票的例子
💻 JAVA
字号:
package org.kxml.kdom;import java.util.*;import org.kxml.*;import org.kxml.parser.*;/** a pull parser that re-parses a kdom tree. */public class TreeParser extends AbstractXmlParser {    class Position {	Node node;	StartTag start;	int index = -1;	Position previous;	Position (Node node) {	    this.node = node;	    index = 0;	}	Position (Element element, Position prev) {	    this.node = element;	    	    	    previous = prev;	    start = new StartTag (prev == null ? null : prev.start, 				  element.getNamespace (), 				  element.getName (),				  element.getAttributes (),				  element.getChildCount () == 0);	    start.setPrefixMap (element.getPrefixMap ());	}    }    Position current;    public TreeParser (Node node) {	current = new Position (node);    }        public TreeParser (Element element, boolean skipRoot) {	current = new Position (element, null);	if (skipRoot) {	    current.index = 0;	    current.start = null;	}    }        public ParseEvent readImpl () {	int i = current.index++;	Node node = current.node;	if (i < 0) 	    return current.start;	if (i >= node.getChildCount ()) {			    if (current.start == null || i > node.getChildCount ()) 		return new EndDocument ();	    ParseEvent result = new EndTag (current.start);	    if (current.previous != null)		current = current.previous;	    return result;	} 	int type = node.getType (i);	switch (type) {	case Xml.TEXT:	case Xml.WHITESPACE:	    return new TextEvent (type, node.getText (i)); 	case Xml.ELEMENT:	    current = new Position (node.getElement (i), current);	    return readImpl ();	default:	    return new LegacyEvent 		(type, (String) node.getChild (i));	}    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -