Java 在循环中使用Nodelist解析XML

Java 在循环中使用Nodelist解析XML,java,xml,parsing,xml-parsing,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("

我试图通过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>

xxx
年份
xxxxxx
abcd

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

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

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

问题不清楚。请共享预期输出当前代码的输出将为4(响应标记下的元素计数)。类似地,我希望生成这四行,其中使用循环将元素解析为一行,输出应该是4