📄 staxreader.java
字号:
package com.thoughtworks.xstream.io.xml;import com.thoughtworks.xstream.converters.ErrorWriter;import com.thoughtworks.xstream.io.StreamException;import javax.xml.namespace.QName;import javax.xml.stream.XMLStreamConstants;import javax.xml.stream.XMLStreamException;import javax.xml.stream.XMLStreamReader;/** * A reader using the StAX API. * * @author James Strachan * @version $Revision: 578 $ */public class StaxReader extends AbstractPullReader { private final QNameMap qnameMap; private final XMLStreamReader in; public StaxReader(QNameMap qnameMap, XMLStreamReader in) { this.qnameMap = qnameMap; this.in = in; moveDown(); } protected int pullNextEvent() { try { switch(in.next()) { case XMLStreamConstants.START_DOCUMENT: case XMLStreamConstants.START_ELEMENT: return START_NODE; case XMLStreamConstants.END_DOCUMENT: case XMLStreamConstants.END_ELEMENT: return END_NODE; case XMLStreamConstants.CHARACTERS: return TEXT; case XMLStreamConstants.COMMENT: return COMMENT; default: return OTHER; } } catch (XMLStreamException e) { throw new StreamException(e); } } protected String pullElementName() { // let the QNameMap handle any mapping of QNames to Java class names QName qname = in.getName(); return qnameMap.getJavaClassName(qname); } protected String pullText() { return in.getText(); } public String getAttribute(String name) { return in.getAttributeValue(null, name); } public String getAttribute(int index) { return in.getAttributeValue(index); } public int getAttributeCount() { return in.getAttributeCount(); } public String getAttributeName(int index) { return in.getAttributeLocalName(index); } public void appendErrors(ErrorWriter errorWriter) { errorWriter.add("line number", String.valueOf(in.getLocation().getLineNumber())); } public void close() { try { in.close(); } catch (XMLStreamException e) { throw new StreamException(e); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -