Как реализовать метод символов с помощью SAXParser на Android - PullRequest
3 голосов
/ 08 февраля 2010

Я анализирую xml с помощью SAXParser и хочу знать, является ли это правильным способом реализации метода символов.

Предположим, что есть строковая переменная уровня класса с именем elementValue, и она инициализируется как "" в методе startElement.

Вот метод символов:

@Override
public void characters(char[] ch, int start, int length)
{
    String charsToAppend = new String(ch, start, length);
    elementValue = elementValue + charsToAppend;    
}

Правильно ли, что нам нужно добавить к значению, которое у нас есть, и добавление выполняется правильно?

Кроме того, почему метод символов дает начальный индекс? Не будет ли каждый раз ноль?

Спасибо.

1 Ответ

9 голосов
/ 08 февраля 2010

Да, вам нужно добавить, потому что нет гарантии, что фрагмент прочитанных данных будет содержать весь текст элемента.

Начальная позиция задана и должна использоваться, поскольку другие символы в массиве могут быть нежелательными.

Однако вместо этого вы должны использовать StringBuffer и вызывать его метод 'append(), например:

public void characters(char[] ch, int start, int length) {
  yourStringBuffer.append(ch, start, length);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...