Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 来自web服务的Sax解析_Java_Xml_Android_Arraylist_Sax - Fatal编程技术网

Java 来自web服务的Sax解析

Java 来自web服务的Sax解析,java,xml,android,arraylist,sax,Java,Xml,Android,Arraylist,Sax,我正在尝试使用Sax解析器解析xml文件。该文件具有可变数量的 同样的元素。我想计算元素存在的次数。 在解析之前我需要这个计数,这样我就可以声明一个大小合适的数组 一种方法是使用另一个解析器(笨拙)在单独的类中对它们进行计数,另一种方法是动态数组(列表数组)。还有其他更好的方法吗 另外,是否可以制作我的类的ArrayList。。?因为我想要一个myClass类型的数组。Sax基本上没有任何历史记录,所以您无法进行计数,然后返回并再次解析。为什么不在列表中收集数据,并在最后将列表转换为数组 注意:

我正在尝试使用Sax解析器解析xml文件。该文件具有可变数量的 同样的元素。我想计算元素存在的次数。 在解析之前我需要这个计数,这样我就可以声明一个大小合适的数组

一种方法是使用另一个解析器(笨拙)在单独的类中对它们进行计数,另一种方法是动态数组(列表数组)。还有其他更好的方法吗


另外,是否可以制作我的类的ArrayList。。?因为我想要一个myClass类型的数组。

Sax基本上没有任何历史记录,所以您无法进行计数,然后返回并再次解析。为什么不在列表中收集数据,并在最后将列表转换为数组


注意:对于Web服务输出的复杂工作,一个小型XSLT程序可以发挥神奇的作用

在我看来,一个好的选择是创建一个列表:

List elements = new ArrayList();
然后,在处理XML文件的SAX类中,在方法endElement(…)中,您只需要在标记结束时进行处理,然后将元素添加到先前创建的列表中。那就不用担心长度了

elements.add(...);

ArrayList myClasses=new ArrayList()是的,这个应该适合我。。