我已经提取了节点列表,例如,
this.NodeList xml = doc.getElementsByTagName(tagName)
现在我想将 xml 转换为 ArrayList 类型,有什么建议吗?
关于 Java
从 Java 8 开始,您可以使用 IntStream 和 map,其中 nodeList 是以下实例NodeList
:
List<String> nodeNames = IntStream.range(0, nodeList.getLength())
.mapToObj(nodeList::item)
.map(n -> n.getNodeName())
.collect(Collectors.toList());
这会将节点的名称收集到一个列表中。
对于更通用的目的,您可以收集Node
元素然后对其进行处理:
List<Node> nodes = IntStream.range(0, nodeList.getLength())
.mapToObj(nodeList::item)
.collect(Collectors.toList());
请注意,从 Java 10 开始,您也可以只var
代替List<Node>
:
var nodes = IntStream.range(0, nodeList.getLength())
.mapToObj(nodeList::item)
.collect(Collectors.toList());
var nodeArrayList = new ArrayList(xmlNodeList.OfType<XmlNode>().ToList());