遍历文件以计数XML元素并添加总数

用户2941841

我正在遍历大量xml文件并计算每个文件中的元素数量。我的输出列出了每个文件中的记录数,但是我不确定如何将它们全部添加在一起。

package mypackage;


import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;



public class search {

    public static void main(String[] args) throws IOException {

        // Creates array of file names

        String inputFile[];
        String directory ="FILE DIRECTORY";

        inputFile = new String[] {



                file1,file2,file3,blah,blah,blah



        };



        try {

            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in), 8 * 1024);


            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

            // Get input element from user
            System.out.print("element name: ");
            String element = reader.readLine();
            int total = 0;
            int subTotal = 0;

            for(int i=0;i<=294;i++){

                Document doc = factory.newDocumentBuilder().parse(inputFile[i]);

                NodeList nodes = doc.getElementsByTagName(element);
                subTotal = nodes.getLength();
                total =+ nodes.getLength();

                System.out.println(inputFile[i] +" # of " + element +  " elements " +  subTotal );
            }

            System.out.println("Total # of " + element +  " elements " +  total );
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

其他信息以供澄清。

我目前正在得到这个

file1 # of  elements 4
file2 # of  elements 5
file3 # of elements 6

我要这个:

file1 # of  elements 4
file2 # of  elements 5
file3 # of elements 6
combined # of elements 16

更新以显示以下带有Brunos代码的结果:

file1 #   4
file2 # 5
file3 # 6
Total #  6
布鲁诺·佛朗哥(Bruno Franco)

不太确定您真正想要的是什么。如果要在所有文件中添加所有元素的结果,只需将您的全部变量放在类的字段或外部变量中,然后将其添加到新的nodeList的长度中即可。

像这样的东西:

        int total = 0;
        int subTotal = 0;

        for(int i=0;i<=294;i++){

            Document doc = factory.newDocumentBuilder().parse(inputFile[i]);

            NodeList nodes = doc.getElementsByTagName(element);
            subTotal = nodes.getLength();
            total += nodes.getLength();

            System.out.println(inputFile[i] +" # of " + element +  " elements " +  subTotal );
        }

        System.out.println("Total # of " + element +  " elements " +  total );

如果不是您想要的内容,请更好地解释并发布其余代码。它是未经测试的代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MongoDB:groupby子文档并计数+添加总计数

来自分类Dev

遍历XML文件的所有元素

来自分类Dev

使用FOR XML PATH将计数添加到根元素

来自分类Dev

如何将多维数组中的数组求和并在数组中添加总数组

来自分类Dev

无法遍历XML元素

来自分类Dev

遍历XML元素列表

来自分类Dev

动态添加元素到XML文件

来自分类Dev

在XML文件中添加元素

来自分类Dev

遍历XML文件Powershell

来自分类Dev

遍历xml文件

来自分类Dev

在R ggplot中的堆叠条形图顶部添加总计数

来自分类Dev

sql加总计数并从2个表中添加金额

来自分类Dev

每次使用 vue.js 2 发出通知时,如何在文本跨度中添加总数 + 1?

来自分类Dev

计算写入文件的矩阵中的元素总数

来自分类Dev

如何根据原始数字增加总数

来自分类Dev

如何遍历xml子元素

来自分类Dev

JavaScript递归XML元素遍历

来自分类Dev

如何遍历xml子元素

来自分类Dev

从某个元素开始循环遍历xml元素

来自分类Dev

在现有的xml文件python中添加元素

来自分类Dev

Python,将嵌套元素添加到xml文件

来自分类Dev

如何在XML文件中添加元素?

来自分类Dev

在XML文件中添加重复元素

来自分类Dev

向 XML 文件 Python 中的子元素添加索引

来自分类Dev

使用 JAXB marshal 向 XML 文件添加/修改元素

来自分类Dev

在遍历文件时添加列名

来自分类Dev

在遍历文件时添加列名

来自分类Dev

查询XML文件并仅遍历具有特定元素名称和属性值的节点

来自分类Dev

读取和写入具有命名空间的 XML 文件,而无需遍历每个元素