【问题标题】:Parse through XML using Nodelist in a loop在循环中使用 Nodelist 解析 XML
【发布时间】:2019-03-22 09:39:52
【问题描述】:

我正在尝试解析 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 行代码变为一行,并给出相同的输出,即计数。

【问题讨论】:

  • 问题不清楚。请分享预期的输出
  • 当前代码的输出将是 4(响应标签下的元素计数)。同样,我想让这四行使用循环将元素解析为一行,输出应该是 4

标签: java xml parsing xml-parsing


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 2020-11-21
    • 2012-09-30
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    相关资源
    最近更新 更多