-1

我已经提取了节点列表,例如, this.NodeList xml = doc.getElementsByTagName(tagName)

现在我想将 xml 转换为 ArrayList 类型,有什么建议吗?

4

2 回答 2

2

关于 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());
于 2018-05-04T07:32:24.817 回答
0
var nodeArrayList = new ArrayList(xmlNodeList.OfType<XmlNode>().ToList());
于 2012-04-24T16:12:39.260 回答