如何使用Java提取XML节点中的值列表
以下是相关的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-
<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);