【发布时间】:2016-04-30 04:46:45
【问题描述】:
我有这种类型的xml:
<trace>
<string key="id" value="1"/>
<event>
<string key="Hello" value="1"/>
<string key="World" value="2"/>
</event>
<event>
<string key="Stack" value="3"/>
<string key="Overflow" value="4"/>
</event>
</trace>
我想在这里阅读关键属性。
我已经写了这段代码:
try {
File fXmlFile = new File("C:\\sampleXml.xes");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile.toString());
doc.getDocumentElement().normalize();
NodeList nListTrace = doc.getElementsByTagName("trace");
for (int j = 0; j < nListTrace.getLength(); j++) {
Node nNode = nListTrace.item(j);
NodeList nListEvent = doc.getElementsByTagName("event");
for(int i = 0 ; i < nListEvent.getLength(); i++){
Node nNodeEvent = nListEvent.item(i);
Element eElement = (Element) nNodeEvent;
System.out.println("\nCurrent Element :" + nNodeEvent.getNodeName());
}
}
} catch(Exception e){
e.printStackTrace();
}
如何获取事件中的所有元素?如何访问具有自闭合标签的元素中的属性?
【问题讨论】:
-
也许您应该考虑使用 sax 解析器?看这个链接:docs.oracle.com/javase/tutorial/jaxp/sax/parsing.html
标签: java xml parsing dom xml-parsing