2016-10-17 3 views
-2

Ich mache eine Android-App für ein Universitätsprojekt. Ich möchte den Text von zwei Websites mit jsoup einlesen. Ich bekomme einen Fehler beim Erstellen des Dokuments von URL mit jsoup:Inkompatible Typen Fehler mit jsoup

"Fehler: (50, 227) Fehler: inkompatible Typen: org.jsoup.nodes.Document kann nicht in org.w3c.dom.Document umgewandelt werden"

Habe so viele Tutorials zu diesem Thema gesehen, aber es scheint kein Problem für irgendjemand anderen zu sein. Wäre so dankbar für etwas Hilfe, um herauszufinden, warum es nicht funktioniert!

Hier ist mein Code:

import android.os.AsyncTask; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

import org.jsoup.Jsoup; 
import org.w3c.dom.Document; 


import java.io.FileWriter; 
import java.io.PrintWriter; 

public class MainActivity extends AppCompatActivity{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button button = (Button)findViewById(R.id.button1); 
    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      new getData().execute(); 
     } 
    }); 
} 

public class getData extends AsyncTask<Void, Void, Void>{ 
    String avgT; 
    String avgRain; 
    String fileNameR = "Rainfile.txt"; 
    String fileNameT = "Tempfile.txt"; 


    @Override 
    protected Void doInBackground(Void... params) { 
     Document temp; 
     Document rain; 
     try { 
      temp = Jsoup.connect("http://www.timeanddate.com/weather/singapore/singapore/historic").get(); //avg temp 
      avgT=temp.getTextContent(); 
      FileWriter fw1 = new FileWriter(fileNameT); 
      PrintWriter pw1 = new PrintWriter(fw1); 
      pw1.println(avgT); 
      pw1.close(); 

      rain = Jsoup.connect("http://www.weatheronline.co.uk/weather/maps/city?LANG=en&WMO=48698&ART=PRE&CONT=asie&R=0&LEVEL=150&REGION=0027&LAND=SX&NOREGION=0&MOD=&TMX=&TMN=&SON=&PRE=&MONAT=&OFFS=&SORT=").get(); 
      avgRain=rain.getTextContent(); 
      FileWriter fw2 = new FileWriter(fileNameR); 
      PrintWriter pw2 = new PrintWriter(fw2); 
      pw2.println(avgRain); 
      pw2.close(); 
     }catch (Exception e){e.printStackTrace();} //http://www.timeanddate.com/weather/singapore/singapore/historic 
     return null; 
    } 



} 

} 

`

+0

Sie benötigen Tutorials für diese – Amitsharma

+0

http://stackoverflow.com/questions/31552242/sending-http-post-request-with-android, http lesen : //stackoverflow.com/questions/2559948/android-sending-xml-via-http-post-soap, http://stackoverflow.com/questions/15425736/android-creating-and-sending-an-xml-soap -request-programmatic – Amitsharma

+2

java's basics: Fehler ist offensichtlich ... 'Jsoup.connect (..)' zurück 'org.jsoup.nodes.Document' nicht' org.w3c.dom.Document' ... 'temp' und "Regen" wird als der zweite Typ erklärt .... – Selvin

Antwort

1

Sie eine falsche Dokumenttyp importieren. Ändern Sie diese Zeile

import org.w3c.dom.Document; 

zu

import org.jsoup.nodes.Document;