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

📄 domreader.java

📁 xstream是一个把java object序列化成xml文件的开源库,轻便好用
💻 JAVA
字号:
package com.thoughtworks.xstream.io.xml;import org.w3c.dom.Attr;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.w3c.dom.Text;import java.util.ArrayList;import java.util.List;import com.thoughtworks.xstream.io.HierarchicalStreamReader;public class DomReader extends AbstractDocumentReader {    private Element currentElement;    private StringBuffer textBuffer;    private List childElements;    public DomReader(Element rootElement) {        super(rootElement);        textBuffer = new StringBuffer();    }    public DomReader(Document document) {        this(document.getDocumentElement());    }    public String getNodeName() {        return currentElement.getTagName();    }    public String getValue() {        NodeList childNodes = currentElement.getChildNodes();        textBuffer.setLength(0);        int length = childNodes.getLength();        for (int i = 0; i < length; i++) {            Node childNode = childNodes.item(i);            if (childNode instanceof Text) {                Text text = (Text) childNode;                textBuffer.append(text.getData());            }        }        return textBuffer.toString();    }    public String getAttribute(String name) {        Attr attribute = currentElement.getAttributeNode(name);        return attribute == null ? null : attribute.getValue();    }    public String getAttribute(int index) {        return ((Attr) currentElement.getAttributes().item(index)).getValue();    }    public int getAttributeCount() {        return currentElement.getAttributes().getLength();    }    public String getAttributeName(int index) {        return ((Attr) currentElement.getAttributes().item(index)).getName();    }    protected Object getParent() {        return currentElement.getParentNode();    }    protected Object getChild(int index) {        return childElements.get(index);    }    protected int getChildCount() {        return childElements.size();    }    protected void reassignCurrentElement(Object current) {        currentElement = (Element) current;        NodeList childNodes = currentElement.getChildNodes();        childElements = new ArrayList();        for (int i = 0; i < childNodes.getLength(); i++) {            Node node = childNodes.item(i);            if (node instanceof Element) {                childElements.add(node);            }        }    }}

⌨️ 快捷键说明

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