日期:2014-05-20  浏览次数:20690 次

如何定位某个xml元素的后一个元素?
比如A、B两个元素,他俩在同一级,如何找到A同级的后面一个B?

我用的是DOM4j,没找到那个方法能实现啊...

------解决方案--------------------
比较常用
方法一:dom。类似于javascript。
方法二:xpath获取。这个非常简单。具体可以去下个帮助文档看下。
------解决方案--------------------
<a/>
<b/>

如果后面有多个<b>,你可以用 //a/following-sibling::b来得到所有的b,或者用 //a/following-sibling::b[index] 来得到特定的。index从1开始 
------解决方案--------------------
example.xml内容如下
<root>
<a><a/>
<b><b/>
</root>
目标:要获取元素b。使用dom4j。
代码:
SAXReader reader = new SAXReader();
Element rootElement = reader.read(new File("xmlFilePath")).getRootElement;
List<Element> subElements = rootElement.elements();
Element lastElement = subElements.get(subElements.size()-1); 
直接获取最后一个元素的api的确没有
不过你的这种情况,是否考虑用rootElement.getElement("b");
更多信息,参考dom4jApi


------解决方案--------------------
没用过dom的方式,不过用正则可以找出来,就是效率有点低