<?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" ); 不过这种好像太复杂了,请教下有没有更好的方法。请教大家!!!!!

解决方案 »

  1.   

    document.selectNodes("/FILE_DATA/Row/field/@kpiId" );  
    就一句话而已,已经是我见过最简单的了,还想怎样呢?
      

  2.   


    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" );  
    可是一直没成功,就换了种方式来弄的。
      

  3.   


    document.selectNodes("/FILE_DATA/Row/field[@kpiId='SRVRS01']" );  
      

  4.   

    document.selectNodes(//@kpiId);
    获取所有kpiId属性的集合