Разбор саксофонов из веб-сервиса - PullRequest
0 голосов
/ 28 марта 2010

Я пытаюсь проанализировать XML-файл с помощью Sax-анализатора. Файл имеет переменный номер те же элементы. Я хочу посчитать, сколько раз элемент присутствует. И я хочу, чтобы этот счетчик был перед синтаксическим анализом, чтобы я мог объявить массив соответствующего размера.

Одним из способов является подсчет их в отдельном классе с другим анализатором (неуклюжим), а другим способом является динамический массив (List Array). Есть ли другой лучший способ сделать это?

Кроме того, возможно ли создать ArrayList для моего класса? потому что я хочу массив типа myClass.

Ответы [ 2 ]

2 голосов
/ 28 марта 2010

Саксофон в основном не имеет никакой истории, поэтому вы не можете сосчитать, а затем вернуться и снова проанализировать. Почему бы не собрать в списке и в конце преобразовать список в массив?

Примечание: для сложной работы по выводу из Web-сервиса небольшая программа XSLT может творить чудеса.

0 голосов
/ 28 марта 2010

На мой взгляд, один хороший вариант - создать список:

List elements = new ArrayList();

Затем внутри класса SAX, который обрабатывает XML-файл, в методе endElement (...) вам просто нужно обработать конец тега, а затем добавить элемент в ранее созданный список. Не нужно беспокоиться о длине.

elements.add(...);
...