<?xml version="1.0" encoding="GBK"?><FILE_DATA xmlns="FILE_DATA">
<Row xmlns="">
<objectId>8aa759071a8f0e00011a8f5b476e0024</objectId>
<objectName>JSNJ-PS-WAP-SYS02</objectName>
<field kpiId="SRVRS01" value="2009-01-19 03:01:51"/>
<field kpiId="SRVRS02" value="JSNJ-PS-WAP-SYS02"/>
<field kpiId="SRVRS03" value="JSNJ-PS-WAP-SYS02"/>
<field kpiId="SRVRS04" value="JS"/>
</Row>
</FILE_DATA>xml文件如上所示,我用的是dom4j来解析xml的。
现在 我想取kpiId为SRVRS01的value值,这个该怎么取啊。我知道一种用document.selectNodes("/FILE_DATA/Row/field/@kpiId" ); 不过这种好像太复杂了,请教下有没有更好的方法。请教大家!!!!!
就一句话而已,已经是我见过最简单的了,还想怎样呢?
Element root = document.getRootElement();
List list = root.elements("Row");
for(Object obj : list){
Element e = (Element)obj;
List fileidList = e.elements("field");
for(Object fileid : fileidList){
Element el = (Element)fileid;
if(el.attributeValue("kpiId").equals(SRVRS01)){
tmpStr = el.attributeValue("value");
break;
}
}}
还是自己来解决结贴吧。上面就是整个处理的过程,本来是想document.selectNodes("/FILE_DATA/Row/field/@kpiId" );
可是一直没成功,就换了种方式来弄的。
document.selectNodes("/FILE_DATA/Row/field[@kpiId='SRVRS01']" );
获取所有kpiId属性的集合