Dom4j如何可以获取某个节点的值。(只知道该节点名称,不知道具体在哪个位置) http://www.java3z.com/cwbwebhome/article/article2/2378.html?id=1034 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <a> <b> <c>test1</c></b></a><a> <b> <c>test2</c></b></a>如果xml是这样的呢?楼主怎么办? 递归效率会不会比较低,有没其它方法。to jihanzhong(逍遥) 如果有两个就取第一个。 可以使用 XPath 来实现,比较简单先将 dom4j-1.6.jar 和 jaxen-1.1-beta-4.jar 加入到 CLASSPATH1.xml:<?xml version="1.0" encoding="UTF-8"?><root> <a> <b> <c>test1</c> </b> </a> <a> <c>test2</c> </a></root>TestXpath.java:public static void main(String[] args) throws DocumentException { SAXReader reader = new SAXReader(); Document doc = reader.read(new File("d:\\1.xml")); Element root = doc.getRootElement(); Element ec = (Element)root.selectSingleNode("//c"); //查找根元素下的第一个 c 节点 System.out.println(ec.getTextTrim()); //print "test1" List ecList = root.selectNodes("//c"); //查找文档中所有的 c 节点 /* * print * * test1 * test2 * * */ for(Iterator iterator = ecList.iterator(); iterator.hasNext(); ) { Element element = (Element)iterator.next(); System.out.println(element.getTextTrim()); }} 谁能分析下这段js代码 Java中如何实现自动保存JTextArea中的文本 手机EDGE上网的问题 关于jfreechart的配置上的一些问题 到华为去面试java程序员... 关于struts+hibernate+spring项目的团队合作的问题? 谁知道哪里有下j2ee的jar包的地方? 怎么判断Socket连接断开? 这个错误提示是什么意思 求帮忙java正则匹配 http://localhost:8080/article/UserFiles/File/林三0(1).doc 不能打开? 麻烦请看下ubuntu下jboss的启动问题 谢谢~ 困扰我好几天了
<b>
<c>test1</c>
</b>
</a>
<a>
<b>
<c>test2</c>
</b>
</a>如果xml是这样的呢?楼主怎么办?
如果有两个就取第一个。
先将 dom4j-1.6.jar 和 jaxen-1.1-beta-4.jar 加入到 CLASSPATH1.xml:<?xml version="1.0" encoding="UTF-8"?>
<root>
<a>
<b>
<c>test1</c>
</b>
</a>
<a>
<c>test2</c>
</a>
</root>TestXpath.java:public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("d:\\1.xml"));
Element root = doc.getRootElement();
Element ec = (Element)root.selectSingleNode("//c"); //查找根元素下的第一个 c 节点
System.out.println(ec.getTextTrim()); //print "test1"
List ecList = root.selectNodes("//c"); //查找文档中所有的 c 节点
/*
* print
*
* test1
* test2
*
* */
for(Iterator iterator = ecList.iterator(); iterator.hasNext(); )
{
Element element = (Element)iterator.next();
System.out.println(element.getTextTrim());
}
}