2012-03-09 57 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)); 
    } 
}