有个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来取值??
<?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来取值??
解决方案 »
- Java 关于组件引用的问题
- 关于一个编号的问题
- 图标文件放在项目包中的什么文件夹里面? 我直接放在包中,生成的JAR文件不能显示图标
- StringBuffer类的问题
- java
- 请教:jcombobox判断空值问题(在线等)
- JEditorPane 为什么不能显示我传给它的String?
- 我的一个简单java程序不能运行。
- 我昨天刚学java用的是JBuilder可是我用F9运行之后在classes目录中生成的.class文件为什么我在用java.exe application1时出现如下的错误呢
- Double to String?
- 哪位大哥能帮小弟找出毛病呀,小弟将深表谢意!
- Collections.binarySearch(List list,Object key))出错
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就是你要的值。你自己去试试了。
Element childNode = (Element) XPath.selectSingleNode(doc.getRootElement(), "/a/menu[@name = '2']/tablename");
String value=childNode.getText();
如果不用的话,使用SAXBuilderSAXBuilder builder = new SAXBuilder();
Document doc = builder.build(....);//加载xml文件的路径
Element root=doc.getRootElement();
....//下面都是用楼上的代码