Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Ошибка при формировании RSS запроса (XML формат)


Автор: Nymph666 20.2.2013, 14:04
Всем доброго времени!
Опишу работу программы: пользователь вводит в edit некоторое слово и нажимает на кнопку "Искать".
В результате создается rss запрос в поисковике google и выводится результат в другой форме.
Однако, сейчас столкнулась с такой ошибкой: 
The markup in the document preceding the root element must be well-formed.

Функция получения документа: 
Код

 private Document getGoogleRssDocument(String word) throws IOException, ParserConfigurationException, SAXException {

        String url = getRequestUrl(word);

        HttpClient client = new HttpClient();
        GetMethod get = new GetMethod(url);
        try {

            int resultCode = client.executeMethod(get);

            if (resultCode == HttpStatus.SC_OK) {
                InputStream in = get.getResponseBodyAsStream();

                DocumentBuilder builder = builderFactory.newDocumentBuilder();
                return builder.parse(in);
            } else {
                throw new IOException("HTTP Communication problem, response code: "+resultCode);
            }

        } finally {

           get.releaseConnection();
        }
    }


Затем результат функции используется в другой функции, которая получает html -код
Код

 private String getGoogleHtml(Document rss) {

        Element item = (Element)rss.getElementsByTagName("item").item(0);
        Element desc = (Element)item.getElementsByTagName("description").item(0);
        return desc.getFirstChild().getNodeValue();
    }



Судя по ошибке - неправильная структура файла. 

Возможно не хватает <?xml version="1.0" encoding="UTF-8"?>

Вот только не пойму как его туда добавить.

Автор: Nymph666 21.2.2013, 08:28
Ошибка 100% в этой строчке, так как DocumentBuilder рассматривает inputStream как xml-документ
Код

return builder.parse(in);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)