我有使用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 = "";
}
答案 0 :(得分:2)
事件类型告诉您解析器当前指向的实体类型,例如它是元素开始标记,结束标记,属性等等。
事件类型在javadoc中定义。它们都定义为int
,因此您需要使用javadoc中的表来理解它们的含义。实际数值列在XMLStreamConstants中。但是,数值本身并不重要,您应该按名称使用XMLStreamConstants
- 定义的常量。
答案 1 :(得分:0)
它告诉您xml当前对象的索引