Разбор xml-ответа от URL с использованием STAX - PullRequest
1 голос
/ 05 июля 2011

Я отправляю xml-запрос через java-код и получаю xml-ответ, используя следующий код:

BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = rd.readLine()) != null) {
        sb.append(line + '\n');
    }

Теперь мне нужно проанализировать xml-ответ, используя STAX, поэтому я написал метод для разбора:

XMLReader reader = new XMLReader();
ArrayList<String> List = reader.parse(connection.getInputStream());

и в parse () у меня есть reader = factory.createXMLEventReader (connection.getInputStream ());

Однако я получаю следующую ошибку:

javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
Message: Premature end of file.
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:593)
at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(XMLEventReaderImpl.java:85)

Может кто-нибудь сообщить мне, где я здесь не так?

Спасибо

Свати

1 Ответ

2 голосов
/ 06 июля 2011

Извините, вопрос похож на этот: Ошибка при синтаксическом анализе XML-файла с помощью StAx .

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

Да, Эд, я пытался прочитать один и тот же ответ дважды.

...