循环使用Nodelist通过XML进行解析

时间:2019-03-22 09:39:53

标签: java xml parsing xml-parsing

我正在尝试通过XML解析并查找特定标记中的元素数。我当前的代码是

NodeList listEmail = dct.getElementsByTagName("EMAIL");
NodeList listphone = dct.getElementsByTagName("PHONE");
NodeList listaddd = dct.getElementsByTagName("ADDRESS");
NodeList listname = dct.getElementsByTagName("NAME");
totalAssets = listEmail.getLength() + listphone.getLength() + listaddd.getLength() + listname.getLength();

我尝试解析的XML是。因此,此处的输出计数为4。

<RESPONSE>
    <EMAIL>xxx</EMAIL>
    <PHONE>yyyy</PHONE>
    <ADDRESS>xxxxxx</ADDRESS>
    <NAME>abcd</NAME>
</RESPONSE>

我想使用循环将这4行代码转换为一行,并给出与计数相同的输出。

1 个答案:

答案 0 :(得分:0)

如果您使用Java 8,则可以尝试流:

Integer totalAssets = Stream.of("EMAIL", "PHONE", "ADDRESS", "NAME").mapToInt(f-> dct.getElementsByTagName(f).getLength()).sum();