dom4j从1.x升级到2.x
dom4j从1.x升级到2.x
为什么升级?漏洞原因。
dom4j 从1.6.x升级到2.1.4,由于版本有较大变化,存在集成关系,升级起来并不难。
原来的代码
// dom4j 1.6.x
List<Element> elements = element.selectNodes(SON_ELEMENT);
升级2.x后不可用
dom4j 不兼容的类型: java.util.List<org.dom4j.Node>无法转换为java.util.List<org.dom4j.Element>
升级后
import org.dom4j.Element;
import org.dom4j.Node;
import java.util.ArrayList;
import java.util.List;
/**
* @author lingkang
* 2023/2/7
**/
public class Dom4jUtils {
/**
* Node转换Element 主要应用与 dom4j升级,1.6到2.x
*/
public static List<Element> nodeToElement(List<Node> list) {
List<Element> elements = new ArrayList<>();
if (list != null) {
for (Node node : list) {
// Element 继承于 Node
elements.add((Element) node);
}
}
return elements;
}
}
改成下面这样
List<Element> elements = Dom4jUtils.nodeToElement(element.selectNodes(SON_ELEMENT));

浙公网安备 33010602011771号