Utilizza un XML remoto come file

Possibile duplicazione:
Come leggere la risposta XML da un URL in java?

Sto provando a leggere un file XML dal mio server web e visualizzarne il contenuto su un ListView , quindi sto leggendo il file come questo:

  • Far scorrere l'animation sinistra / destra tra i frammenti
  • Android-Listview visualizza gli elementi di background che cambiano quando lo scorrimento
  • Non lasciare premere il button inizialmente nel modo di touch
  • Errore: Imansible eseguire lo strumento mksdcard SDK
  • Ottenere i dati da Listview con BaseAdapter
  • Impostare il colore della forma di android in modo programmato
  •  File xml = new File("http://example.com/feed.xml"); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(xml); doc.getDocumentElement().normalize(); NodeList mainNode = doc.getElementsByTagName("article"); // for loop to populate the list... 

    Il problema è che ho trovato questo errore:

    java.io.FileNotFoundException: /http:/mydomainname.com/feed.xml (nessun file o directory)

    Perché ho questo problema e come correggerlo?

  • Deserializzazione di ArrayList di tipo non generico usando GSON
  • Come implemento un elenco sezionato in Android?
  • AndroidStudio - Dipendenze del module in Gradle
  • Come creare GUI in Android invece di utilizzare XML?
  • Non è ansible trattenere frammenti nidificati
  • come modificare il carico predefinito ajax loader gif in jquery mobile
  • 3 Solutions collect form web for “Utilizza un XML remoto come file”

    Il file è destinato a puntare a file locali.

    Se si desidera puntare a un URI remoto, è più semplice utilizzare l'url della class

      //modified code URL url = new URL("http://example.com/feed.xml"); URLConnection urlConnection = url.openConnection(); InputStream in = new BufferedInputStream(urlConnection.getInputStream()); //your code DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse( in ); 

    Come potete vedere, in seguito, grazie a java streaming apis, è ansible adattare facilmente la tua logica di codice per lavorare con il contenuto del file. Ciò è dovuto ad un sovraccarico del metodo di pars in class DocumentBuilder .

    È necessario utilizzare HTTPURLConnection per get xml come stream di input e passarlo DocumentBuilder , da lì è ansible utilizzare la logica che hai.

     DefaultHttpClient client = new DefaultHttpClient(); HttpResponse resp = client.execute(yourURL); if(resp.getStatusCode == 200) { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(resp.getEntity().getContent()); } 

    Nota: ho solo digitato qui, ci possono essere errori di syntax.

    Devi leggere il file utilizzando un object URL. Ad esempio, provare qualcosa di simile:

     URL facultyURL = new URL("http://example.com/feed.xml"); InputStream is = facultyURL.openStream(); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.