我有一个xml文件,如下所示:
<mon:eventPointData>
<mon:kind mon:version="2010-11-11">bpmnx:EVENT_CAUGHT</mon:kind>
<mon:time mon:of="occurrence">2016-11-29T14:31:47.365-02:00</mon:time>
<mon:model mon:type="wle:processApplication">
<mon:name>DEF Application</mon:name>
<mon:documentation/>
<wle:snapshot-name>Version 1</wle:snapshot-name>
</mon:model>
<mon:model mon:type="bpmn:startEvent">
<mon:name>Start</mon:name>
<mon:instance mon:id="2"/>
<wle:snapshot-name>Version 1</wle:snapshot-name>
</mon:model>
<mon:model mon:type="bpmn:process" >
<mon:name>DEF Test</mon:name>
<mon:documentation/>
<mon:instance mon:id="253">
<mon:state>Active</mon:state>
</mon:instance>
<wle:snapshot-name>Version 1</wle:snapshot-name>
</mon:model>
使用java dom导航并获取标签和属性的值,但为了获得每个值,我认为我做了很多努力,所以我想我是在做错误的方式。
要获得mon:有价值的我使用
String kind = doc.getElementsByTagName("mon:kind").item(0).getTextContent();
获得&#34; name&#34;内部&#34;模型&#34; where属性&#34; mon:type&#34;等于&#34; wle:processApplication&#34;,我正在做以下事情:
for (int x = 0; x < e.getElementsByTagName("mon:model").getLength(); x++) {
for (int i = 0; i < e.getElementsByTagName("mon:model").item(0).getAttributes().getLength(); i++) {
if (e.getElementsByTagName("mon:model").item(0).getAttributes().item(i).getNodeValue()
.equals("bpmn:process")) {
String name = ((Element)e.getElementsByTagName("mon:model").item(0)).getElementsByTagName("mon:name").item(0).getTextContent();
}
}
}
它有效,但我对此解决方案很有帮助。我是以正确的方式做到的吗?
由于