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

📄 document.java

📁 KXML一个基于j2me的xml解析器
💻 JAVA
字号:
/* 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.kdom;import java.io.*;import org.xmlpull.v1.*;/** The document consists of some legacy events and a single root    element. This class basically adds some consistency checks to    Node. */public class Document extends Node {    protected int rootIndex = -1;    String encoding;    Boolean standalone;    /** returns "#document" */    public String getEncoding () {        return encoding;    }        public void setEncoding(String enc) {        this.encoding = enc;    }        public void setStandalone (Boolean standalone) {        this.standalone = standalone;    }        public Boolean getStandalone() {        return standalone;    }    public String getName() {        return "#document";    }    /** Adds a child at the given index position. Throws    an exception when a second root element is added */    public void addChild(int index, int type, Object child) {        if (type == ELEMENT) {         //   if (rootIndex != -1)           //     throw new RuntimeException("Only one document root element allowed");            rootIndex = index;        }        else if (rootIndex >= index)            rootIndex++;        super.addChild(index, type, child);    }    /** reads the document and checks if the last event    is END_DOCUMENT. If not, an exception is thrown.    The end event is consumed. For parsing partial        XML structures, consider using Node.parse (). */    public void parse(XmlPullParser parser)        throws IOException, XmlPullParserException {		parser.require(XmlPullParser.START_DOCUMENT, null, null);		parser.nextToken ();        	        encoding = parser.getInputEncoding();        standalone = (Boolean)parser.getProperty ("http://xmlpull.org/v1/doc/properties.html#xmldecl-standalone");                super.parse(parser);        if (parser.getEventType() != XmlPullParser.END_DOCUMENT)            throw new RuntimeException("Document end expected!");    }    public void removeChild(int index) {        if (index == rootIndex)            rootIndex = -1;        else if (index < rootIndex)            rootIndex--;        super.removeChild(index);    }    /** returns the root element of this document. */    public Element getRootElement() {        if (rootIndex == -1)            throw new RuntimeException("Document has no root element!");        return (Element) getChild(rootIndex);    }            /** Writes this node to the given XmlWriter. For node and document,        this method is identical to writeChildren, except that the        stream is flushed automatically. */    public void write(XmlSerializer writer)        throws IOException {                writer.startDocument(encoding, standalone);        writeChildren(writer);        writer.endDocument();    }        }

⌨️ 快捷键说明

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