繁体   English   中英

XMLStreamReader 类中 getEventType() 方法的目的是什么

[英]what is the purpose of getEventType() method in XMLStreamReader Class

我编写了用于使用javax.xml包解析 xml 文件的示例代码。 它使用名为getEventType()的方法,但我无法理解此方法的用途。

我写了一个简单的应用程序来理解它的用处,但它只输出一些我无法理解的随机数,有人可以帮助我正确理解这一点。

这是我编写的示例代码。

public List parseXML(File f) throws XMLStreamException{
  xmlInputFactory = new WstxInputFactory();

  xmlInputFactory.setProperty(XMLInputFactory2.IS_REPLACING_ENTITY_REFERENCES, Boolean.FALSE);
  xmlInputFactory.setProperty(XMLInputFactory2.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE);
  xmlInputFactory.setProperty(XMLInputFactory2.IS_COALESCING,Boolean.FALSE);
  xmlInputFactory.setProperty(XMLInputFactory2.IS_VALIDATING,Boolean.FALSE);
  xmlInputFactory.configureForSpeed();

  List<Task> tasks = new LinkedList<Task>();

  //xmlStreamReader = xmlInputFactory.createXMLStreamReader(new StringReader(dmml));
  xmlStreamReader = xmlInputFactory.createXMLStreamReader(f);

  int eventType = xmlStreamReader.getEventType();
  eventType = xmlStreamReader.next();
  System.out.println(eventType);
  eventType = xmlStreamReader.next();
  System.out.println(eventType);
  eventType = xmlStreamReader.next();
  System.out.println(eventType);
  eventType = xmlStreamReader.next();
  System.out.println(eventType);
  eventType = xmlStreamReader.next();
  System.out.println(eventType);
  eventType = xmlStreamReader.next();
  System.out.println(eventType);
  eventType = xmlStreamReader.next();
  System.out.println(eventType);
  eventType = xmlStreamReader.next();
  System.out.println(eventType);
  eventType = xmlStreamReader.next();
  System.out.println(eventType);
  eventType = xmlStreamReader.next();
  System.out.println(eventType);
  eventType = xmlStreamReader.next();
  System.out.println(eventType);
  /*String currentElement = "";
  String currentElementText = "";
}

事件类型告诉您解析器当前指向的实体类型,例如它是元素开始标记、结束标记、属性等。

事件类型在javadoc中定义。 它们都定义为int ,因此您需要使用 javadoc 中的表来理解它们的含义。 实际数值列在XMLStreamConstants 中 但是,数值本身并不有趣,您应该按名称使用XMLStreamConstants定义的常量。

它告诉您 xml 的当前对象的索引

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM