如何使用Java提取XML节点中的值列表

如何使用Java提取XML节点中的值列表,java,xml,w3c,Java,Xml,W3c,以下是相关的XML代码: <extendedDataElements name="Access" type="noValue"> <children name="item-key" type="string"> <values>00005</values> </children> <children name="access-

以下是相关的XML代码:

<extendedDataElements
    name="Access"
    type="noValue">
    <children
        name="item-key"
        type="string">
        <values>00005</values>
    </children>

    <children
        name="access-type"
        type="string">
        <values>Search</values>
    </children>

    <children
        name="key-type"
        type="string">
        <values>Store</values>
    </children>

</extendedDataElements>

<extendedDataElements
    name="Version"
    type="string">
    <values>Core: 3.2.0, Enum: 3.2.3, Log4j1: 3.2.0</values>
</extendedDataElements>
如何将
标记中以逗号分隔的值列表提取到列表中

简言之,如何提取以下XML标记中的所有信息:

<extendedDataElements
    name="Version"
    type="string">
    <values>Core: 3.2.0, Enum: 3.2.3, Log4j1: 3.2.0</values>
</extendedDataElements>

核心:3.2.0,枚举:3.2.3,Log4j1:3.2.0

获取属性值

String name = secondExtendedDataElementNode.getAttributes().getNamedItem("name").getNodeValue();
String type = secondExtendedDataElementNode.getAttributes().getNamedItem("type").getNodeValue();
首先将逗号分隔的值放入数组中

String[] commaSeparatedValue = secondExtendedDataElementNode.selectSingleNode("values").getText().split(",");
然后将这些值添加到列表中

使用java8

valuesList = Arrays.stream(commaSeparatedValue).collect(Collectors.toList());
使用java9

valuesList = List.of(commaSeparatedValue);
valuesList = List.of(commaSeparatedValue);