我有org.w3c.dom.NodeList
5个节点。通过UUID.randomUUID();
Java 8 Stream API:获得特定节点后的所有节点
DOM结构生成的节点的ID:
<section id="3" prefix="s1">
<paragraph id="value3">
...
</paragraph>
<paragraph id="value4">
...
</paragraph>
<paragraph id="value5">
...
</paragraph>
<paragraph id="value6">
...
</paragraph>
<paragraph id="value7">
...
</paragraph>
</section>
我需要属性ID = “值5” 节点后能得到的所有节点。所以结果应该包含id = value6和id = value7的节点。
我创建Stream<Element>
:
NodeList children = element.getChildNodes();
Stream<Element> elementStream = IntStream.range(0, children.getLength())
.mapToObj(children::item)
.filter(Element.class::isInstance)
.map(Element.class::cast);
所以,我能以某种方式与Java 8个流API做到这一点?
尝试通过'attribute> 5'来过滤它们 –
@AndriiAbramov,id是生成值。我无法比较它们。 –
在jdk-9中,你可以这样做:'.dropWhile(i - > i!= 5).skip(1)' – Eugene