【问题标题】:How can I sum all numbers with a certain tag in an XML file?如何在 XML 文件中对具有特定标签的所有数字求和?
【发布时间】:2017-12-25 05:31:19
【问题描述】:

以下是示例 XML 文件中的几行代码:

<media:content url="randomurl1" duration="51" medium="video"/>
<media:content url="randomurl2" duration="28" medium="video"/>
<media:content url="randomurl3" duration="72" medium="video"/>

我想对所有持续时间值求和,例如 51、28 和 72。有什么巧妙的方法可以做到这一点吗?我对此很陌生。非常感谢大家的帮助!

【问题讨论】:

  • “有什么好办法吗?” XPath: sum(//content/@duration)
  • 你有格式良好的 XML 吗?
  • 我的 XML 文件格式与示例完全相同,但行数更多

标签: java xml scripting


【解决方案1】:

您可以使用下面的代码对 JAVA 中的 xml 元素求和

double sum = 0.0;
for (int temp = 0; temp < nList.getLength(); temp++) 
    {
    Node nNode = nList.item(temp);

    if (nNode.getNodeType() == Node.ELEMENT_NODE) 
            { 
        Element eElement = (Element) nNode;

        sum += Double.parseDouble(eElement.getElementsByTagName("duration").item(0).getTextContent());
            }
    }
System.out.println("Total: " + sum);

【讨论】:

  • @kjhughes 这是一个示例代码,可以帮助他理解,
  • 如果它没有错,它会帮助他更多,如果你尝试运行它,你就会知道它是错误的。您应该修复它,验证它是否正常工作,然后更新。如果你懒得这样做,你应该删除它。
  • 对不起@kjhughes 我不同意,因为代码可以按照他的意愿正常工作。
  • 如何使用此代码导入我的 xml 文件?对不起,我很缺乏经验
  • @ColeSmith 你可以点击这个链接mkyong.com/java/how-to-read-xml-file-in-java-dom-parser
猜你喜欢
  • 1970-01-01
  • 2017-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多