xml怎么取元素的值

xuewei2007 2009-02-20 05:28:22

<?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" ); 不过这种好像太复杂了,请教下有没有更好的方法。请教大家!!!!!
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fulianglove 2009-02-23
  • 打赏
  • 举报
回复

document.selectNodes("/FILE_DATA/Row/field[@kpiId='SRVRS01']" );
xuewei2007 2009-02-23
  • 打赏
  • 举报
回复

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" );
可是一直没成功,就换了种方式来弄的。
fireelf000 2009-02-23
  • 打赏
  • 举报
回复
document.selectNodes(//@kpiId);
获取所有kpiId属性的集合
lzheng2001 2009-02-20
  • 打赏
  • 举报
回复
document.selectNodes("/FILE_DATA/Row/field/@kpiId" );
就一句话而已,已经是我见过最简单的了,还想怎样呢?

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧