perf[protocol]: 新增通过Dom的tag获取标签的方法

This commit is contained in:
jaysunxiao
2022-01-02 21:27:28 +08:00
parent b678b2a7fd
commit f1b88d52c7
@@ -98,6 +98,31 @@ public abstract class DomUtils {
return elements;
}
public static List<Element> getElementsByTag(Element element, String tag) {
var elements = new ArrayList<Element>();
var queue = new LinkedList<Element>();
queue.add(element);
while (!queue.isEmpty()) {
var ele = queue.poll();
var tagName = ele.getTagName();
if (StringUtils.isNotEmpty(tagName) && tagName.equalsIgnoreCase(tag)) {
elements.add(ele);
continue;
}
var eles = DomUtils.getChildElements(ele);
if (CollectionUtils.isNotEmpty(eles)) {
for (var e : eles) {
queue.offer(e);
}
}
}
return elements;
}
/**
* 只返回第一层的孩子节点,不返回第一层孩子节点的孩子节点
* <p>