java - 如何扩展XMLStreamReader?

标签 java extends xmlstreamreader

http://docs.oracle.com/javaee/5/api/javax/xml/stream/XMLStreamReader.html

我想扩展 XMLStreamReader,但它是一个接口(interface)。

我想做这样的事情:

public class GraphDataStreamReader extends XMLStreamReader{

  public GraphDataStreamReader(){
    super();
  }

  public void nextStartElement() throws XMLStreamException {
    do {
      super.next();   
    } while (!super.isStartElement());
  }
}

其他类:

XMLInputFactory factory = XMLInputFactory.newInstance();
GraphDataStreamReader streamReader = (GraphDataStreamReader) factory.createXMLStreamReader(new FileReader(xmlFile)); //returns XMLStreamReader
streamReader.next(); //method from XMLStreamReader
streamReader.nextStartElement(); //method from GraphDataStreamReader

这可能吗?如果是,那么如何?

最佳答案

以下是如何扩展 StreamReaderDelegate :

class GraphDataStreamReader extends StreamReaderDelegate {
  public GraphDataStreamReader(XMLStreamReader reader) {
    super(reader);
  }

  public void nextStartElement() throws XMLStreamException {
    do {
      super.next();
    } while (!super.isStartElement());
  }
}

XMLInputFactory factory = XMLInputFactory.newInstance();
GraphDataStreamReader streamReader = new GraphDataStreamReader(
                                 factory.createXMLStreamReader(fileInputStream));
streamReader.next();
streamReader.nextStartElement();

关于java - 如何扩展XMLStreamReader?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24265873/

相关文章:

java - Java中default关键字的作用是什么?

java - 挑选出字符串中正确的字符;

java - 我可以在不复制的情况下包装 List 对象吗?

java - 使用扩展类

java - 如何使用 XMLStreamReader 多次读取同一 XML 文件

java - XMLStreamReader - 奇怪的错误

java - 缩放 View - 不是从可绘制 View

java - 使用泛型参数类型重载构造函数(扩展与扩展和接口(interface))

java - 如何使用 XMLStreamReader 读取 xml 中的 namespace ?

Java Swing 将文件加载到 JEditorPane 中