在使用dom4j的时候,如果将xml的节点遍历放在集合里,然后在xml文档中某处插入某个节点的时候,如果将list集合的节点取出来,是没有办法直接用add(Element)插入的,每次都是到这个点就自己停止了,也不报错.
几个探讨研究了一下,有一种方法:
就是将从list集合里取出来的,先通过Document转换,再获取Element根元素加进去.
这种方法,非常的恶心,又要遍历集合了.
还有一种方法:
xml可以插入一个新创建的元素(Element);那就创建一个新的元素放进去.
根据第二种方法,我们就要从list集合里取出来一个节点,然后原模原样的创建一个新的,虽然这个也不是很简单,但是这也方便后期做一个工具类.
之所以选择递归的算法,是因为递归算法代码不是很多很复杂.但是递归很消耗内存.具体原因,网上一大堆大神都说的很清楚了.但是对于原模原样的跟着某个元素创建一模一样的元素,对内存的消耗还好一点.当然,特殊情况除外.
因为也是刚写这个递归的方法,也没有优化,现在写在这里,可以参考参考,记录一下,方便以后使用.当然,也希望各大牛提意见,小弟定当感谢:
/**
* 递归创建一个需要复制的Element元素
* 为了方便在xml中某个位置插入某个元素
* @param element 需要复制的元素
* @return 按照指定元素创建好的临时元素,可以插入到指定的xml文档位置中
*/
private E