Dlaczego otrzymuję ten błąd Przedwczesny koniec pliku?

Próbuję przeanalizować iXML response, ale zawodzę. Początkowo myślałem, żexml po prostu nie został zwrócony w odpowiedzi, więc spreparowałem poniższy kod z bezpośrednim linkiem do mojegoxml plik online. Jestem w stanie wydrukowaćXML na ekranie bez problemów. Jednak kiedy nazywam moją metodę analizy, otrzymujęPrzedwczesny koniec pliku.

Działa, jeśli przekazuję adres URL bezpośrednio:

builder.parse ("");

ale kończy się niepowodzeniem, gdy przekazałem strumień wejściowy:

builder.parse (connection.getInputStream ());

<code>  try {
    URL url = new URL(xml);
    URLConnection uc =  url.openConnection();
    HttpURLConnection  connection = (HttpURLConnection )uc;

    connection.setDoInput(true);
    connection.setDoOutput(true);

    InputStream instream;
    InputSource source;
    //get XML from InputStream
    if(connection.getResponseCode()>= 200){
        connection.connect();       
        instream = connection.getInputStream();         
        parseDoc(instream);     
    }
    else{
        instream = connection.getErrorStream();
    }


} catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (ParserConfigurationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (SAXException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}



 static void parseDoc(InputStream instream) throws ParserConfigurationException,
 SAXException, IOException{


  BufferedReader buff_read = new BufferedReader(new InputStreamReader(instream,"UTF-8"));
    String  inputLine = null;

    while((inputLine = buff_read.readLine())!= null){
        System.out.println(inputLine);
    }

  DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();
  factory.isIgnoringElementContentWhitespace();
  DocumentBuilder builder = factory.newDocumentBuilder();
  Document doc = builder.parse(instream);
}
</code>

Błędy, które otrzymuję:

<code>    [Fatal Error] :1:1: Premature end of file.
org.xml.sax.SAXParseException: Premature end of file.
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
    at com.ameba.api.network.MainApp.parseDoc(MainApp.java:78)
    at com.ameba.api.network.MainApp.main(MainApp.java:41)
</code>

questionAnswers(4)

yourAnswerToTheQuestion