2012-03-09 16 views
8

我想從HTML文件中的文本在Java檢索HTML文件中的文本在Java中

html文件是:

<body> 

<p>vishal</p> 
<strong>patel</strong> 
<bold >vishal patel 

我要輸出這樣

vishal 

patel 

vishal patel 

如何要做到這一點,請幫助我

+0

你可以使用xml解析器 – 2012-03-09 09:15:54

+0

你想從網上的一個html文件中讀取它,比你應該使用下面的教程http://docs.oracle.com/javase/tutorial/networking/urls/readingWriting .html – 2012-03-09 09:16:17

+0

否則確實使用XmlParser。順便說一句,你沒有結束標籤 – 2012-03-09 09:16:29

回答

20

我已經使用了一個名爲JSoup的庫。
從HTML文件中檢索純文本部分非常簡單。
這很簡單:

Jsoup.parse(html).text(); 

讓你從HTML文件

+0

我想要三個不同的文本,以便我存儲在字符串數組但是jsoup只給我一個文本... – 2012-03-09 09:22:28

+5

@ user1206635哥們,你必須嘗試一些你的擁有。 – Nishant 2012-03-09 09:26:45

+0

@ user1206635 JSoup給你的文本,你必須做的休息。 Nishant,+1給你! – Rakesh 2012-03-09 09:31:00

3

最好使用HTML解析器....我喜歡使用JSoup解析器(OpenSource包)文本....

import org.jsoup.Jsoup; 
public class HTMLUtils { 

    public static String extractText(Reader reader) throws IOException { 
     StringBuilder sb = new StringBuilder(); 
     BufferedReader br = new BufferedReader(reader); 
     String line; 
     while ((line = br.readLine()) != null) { 
      sb.append(line); 
     } 
     String textOnly = Jsoup.parse(sb.toString()).text(); 
     return textOnly; 
    } 

    public final static void main(String[] args) throws Exception { 
     FileReader reader = new FileReader("C:/RealHowTo/topics/java-language.html"); 
     System.out.println(HTMLUtils.extractText(reader)); 
    } 
}