2017-02-13 36 views
0

Jsoupを使用してhtmlを解析するときに、改行を維持するための助けが必要です。Jsoupで改行を維持するには?

私は既にこのウェブサイト上にあったものを研究して試してみましたが、彼らの仕事を見つけることはできませんでした。

私はコーディングに新しいので、簡単な説明がより歓迎されます。

ありがとうございます!

public class MainActivity extends AppCompatActivity { 
TextView content; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    content=(TextView)findViewById(R.id.content0); 


    Button but=(Button) findViewById(R.id.but1); 
    but.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      System.out.println("parse button pressed"); 
      new doit().execute(); 
     } 
    }); 

} 

public class doit extends AsyncTask<Void,Void,Void>{ 
    String words; 

    @Override 
    protected Void doInBackground(Void... params) { 
     System.out.println("parsing"); 
     try { 
      Document doc = Jsoup.connect("http://daltonschool.kr/homeeng/04schoollife/040203schoollife.html").get(); 
      words=doc.select("table.cafeteria tbody tr td").eq(3).text(); 
     }catch(Exception e){e.printStackTrace();} 
     return null; 
    } 
    @Override 
    protected void onPostExecute(Void aVoid) { 
     super.onPostExecute(aVoid); 
     content.setText(words); 
    } 
} 

}

+0

@ashatte .prettyPrint(false)); は、java.lang.Voidが見つかったことを示しています。java.lang.Stringが見つかりました。 これをどのように適用するかわかりません。 – thok0831

答えて

0

私は<br>を維持するために、この方法で試してみました。私は最高のアイデアをそのハック事のように知っていません。

public class Test { 
    public static void main(String[] args) { 
     try { 
      Document doc = Jsoup.connect("http://daltonschool.kr/homeeng/04schoollife/040203schoollife.html").get(); 
      String words = doc.select("table.cafeteria tbody tr td").eq(3).html(); 
      String temp = words.replace("<br>", "$$$"); 
      Document doc1 = Jsoup.parse(temp); 
      String text = doc1.body().text().replace("$$$", "\n").toString(); 
      System.out.println(text); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

} 

出力:)私はこれを試してみましたが、それは リターンJsoup.clean(S、 ""、Whitelist.none()、新Document.OutputSettings(に私にエラーを与える

-Korean Food- 
Spicy Stir-fried Pork&Kimchi w/Rice 
Kelp&Radish Soup 
Kkakdugi 
*Salad Bar:Spaghetti S 

-Western Food- 
Hurigake Rice 
Sweet Chili Chicken 
*Salad Bar:spaghetti S 
(Veg: Pollack Pancake) 
+0

これは間違いなく私が望んでいた!ご親切にありがとうございます! – thok0831

+0

実際のリモートコンテンツには
が含まれていませんが、複数の行にある場合、どのように改行を保持できますか? – user1788736

関連する問題