Как я могу анализировать InputTream для конструктора документов? - PullRequest
0 голосов
/ 22 февраля 2011

Я делаю приложение для Android, и я делаю httprequest для получения XML-документа, мой httpEntity не возвращает ноль, и я пытаюсь использовать documentbuilderfactory для анализа файла и получения необходимых мне данных из xml,

У меня есть:

        DefaultHttpClient httpclient = new DefaultHttpClient();

        HttpGet httpPost = new HttpGet(URL);
        httpPost.addHeader("Authorization", getAuthHeader());

        HttpResponse response = httpclient.execute(httpPost);
        HttpEntity entity = response.getEntity();   

        InputStream is = entity.getContent();
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder(); 
        Document doc = db.parse(is);

. В этот момент я получаю исключение ошибки, похожее на это

org.xml.sax.SAXParseException: expected: /hr read: body (position:END_TAG @10:8 in java.io.InputStreamReader@40564d70)

Кто-нибудь видел это или знает, что я делаю?Не могу найти, в чем проблема, если этого недостаточно, я могу предоставить больше, не намного больше, просто запрос http.файл "XML", который я пытаюсь получить, выглядит следующим образом

<ads>
  <ad>
    <id>6</id>
    <minViews>10</minViews>
    <duration>4</duration>
    <actionUrl>URL</actionUrl>
    <imageUrl>URL</imageUrl>
    <impressionCount>0</impressionCount>
  </ad>
<ads>

, и это все, что находится в файле.и я пытаюсь получить URL в обоих местах.

Ответы [ 2 ]

2 голосов
/ 22 февраля 2011

Похоже, документ является HTML, который не совместим с XML. Неопределенный тег <hr> - это мертвая распродажа. Синтаксический анализ XML просто не применим к этим документам.

В зависимости от того, что вы хотите от этого документа, вы можете свернуть свой собственный анализатор, найти и адаптировать существующий или использовать WebView.

0 голосов
/ 19 сентября 2013

DTD отсутствуют в вашем xml, добавьте правильный тип документа, и ваш синтаксический анализ будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...