初学jdom!!! 如何取得标签里的值?????

zgysc 2005-07-07 11:47:22
有个a.xml文件:
<?xml version="1.0" encoding="gb2312"?>
<a>
<menu name="1">
<tablename>df</tablename>
</menu>
<menu name="2">
<tablename>sdfsf</tablename>
</menu>
<menu name="3">
<tablename>jhjj</tablename>
</menu>
</a>
我想把 name为"2"的menu节点里的<tablename>的值打印出来,该如何用jdom中的 saxbuilder来取值??
...全文
166 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jFresH_MaN 2005-07-07
  • 打赏
  • 举报
回复
这个问题可以使用XPath,不过需要下载JDOM对level3的支持包
Element childNode = (Element) XPath.selectSingleNode(doc.getRootElement(), "/a/menu[@name = '2']/tablename");
String value=childNode.getText();


如果不用的话,使用SAXBuilder

SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(....);//加载xml文件的路径
Element root=doc.getRootElement();
....//下面都是用楼上的代码

fengyun1314 2005-07-07
  • 打赏
  • 举报
回复
List children = root.getChildren();
for(int i=0;i<children.size();i++){
Element child = (Element) children.get(i);
if(child.getAttributevalue("name").equals("2")){
Element tchild = (Element) child.getChildren().get(0);
String text = tchild.getText();
}
}


那个text就是你要的值。你自己去试试了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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