急!急!急!谁知道关于用java解析html文档? 我觉得你该好好研究一下xml了,那个应该针对你的情况。到java.sun.com上看看xml的学习文档吧,sax和dom应该是最适合的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我已经用过,给你一个例子程序也许对你有帮助package util;import java.io.*;import java.util.*;import javax.swing.text.*;import javax.swing.text.html.*;import javax.swing.text.html.parser.*;/** * 解析HTML文件中特定元素 * LINK href * A href * IMG src * SCRIPT src * */public class ParseHtml{ public static void main(String args[]){ ParseHtml ph = new ParseHtml(); try{ String filename = "d:\\y\\scounix.htm"; BufferedReader brd = new BufferedReader( new FileReader( filename ) ); char[] str = new char[50000]; brd.read(str); String sHtml = new String( str ); startParse( sHtml ); }catch(Exception e){ e.printStackTrace(); } } private static void startParse(String sHtml){ try{ ParserDelegator parser = new ParserDelegator(); HTMLEditorKit.ParserCallback callback = new Callback(); parser.parse( new StringReader(sHtml), callback, true); }catch(Exception e){ e.printStackTrace(); } } static class Callback extends HTMLEditorKit.ParserCallback{ public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos){ if(t.equals(HTML.Tag.IMG)){ String src= (String)a.getAttribute(HTML.Attribute.SRC); System.out.println("No." + count + " IMG src=" + src); count++; } if(t.equals(HTML.Tag.LINK) ){ String href = (String)a.getAttribute(HTML.Attribute.HREF); System.out.println("No." + count + " LINK src=" + href ); count ++; } } public void handleStartTag(HTML.Tag t, MutableAttributeSet a,int pos){ if(t.equals(HTML.Tag.A) ){ String src= (String)a.getAttribute(HTML.Attribute.HREF); System.out.println("No." + count + " A href=" + src ); count ++; } if(t.equals(HTML.Tag.SCRIPT) ){ String src = (String)a.getAttribute(HTML.Attribute.SRC); System.out.println("No." + count + " SCRIPT src=" + src ); count ++; } } private int count = 1; }}说明:其中的staic class可以改为class to zhangjb(): 非常感谢你的帮助!我是今年4月份学的java,希望能常和你联系。我的email:[email protected];oicq:1013773. 欢迎交流问题,我的email是[email protected] http://www.csdn.net/expert/Topic/224/224190.shtm请看这个!~ 求前辈帮忙排错(点对点socket聊天工具) mencoder.exe 把mp4转换成flv 异常 数据库查询出记录封装到对象中 Servlet往applet传对象 MYSQL安装失败 百分求助:这个runnable类的性能瓶颈在哪里? ecplise的简单问题! 我的软件设计大赛题目,谁能帮我指点迷津? jdk1.4下的java程序,这么多一样的错误,为什么? 对象初始化的时候属性方法的加载顺序的问题,希望大神进来看一下 JBuilder初学者,帮我推荐几本比较好的书,好吗?(最好能具体点儿,谢谢 ~~~) 怎么样实现管道一个入口,多个出口?
package util;import java.io.*;
import java.util.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
import javax.swing.text.html.parser.*;/**
* 解析HTML文件中特定元素
* LINK href
* A href
* IMG src
* SCRIPT src
*
*/
public class ParseHtml{
public static void main(String args[]){
ParseHtml ph = new ParseHtml(); try{
String filename = "d:\\y\\scounix.htm";
BufferedReader brd = new BufferedReader( new FileReader( filename ) );
char[] str = new char[50000];
brd.read(str);
String sHtml = new String( str ); startParse( sHtml );
}catch(Exception e){
e.printStackTrace();
}
} private static void startParse(String sHtml){
try{
ParserDelegator parser = new ParserDelegator();
HTMLEditorKit.ParserCallback callback = new Callback();
parser.parse( new StringReader(sHtml), callback, true);
}catch(Exception e){
e.printStackTrace();
}
} static class Callback extends HTMLEditorKit.ParserCallback{
public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos){
if(t.equals(HTML.Tag.IMG)){
String src= (String)a.getAttribute(HTML.Attribute.SRC);
System.out.println("No." + count + " IMG src=" + src);
count++;
}
if(t.equals(HTML.Tag.LINK) ){
String href = (String)a.getAttribute(HTML.Attribute.HREF);
System.out.println("No." + count + " LINK src=" + href );
count ++;
}
} public void handleStartTag(HTML.Tag t, MutableAttributeSet a,int pos){
if(t.equals(HTML.Tag.A) ){
String src= (String)a.getAttribute(HTML.Attribute.HREF);
System.out.println("No." + count + " A href=" + src );
count ++;
}
if(t.equals(HTML.Tag.SCRIPT) ){
String src = (String)a.getAttribute(HTML.Attribute.SRC);
System.out.println("No." + count + " SCRIPT src=" + src );
count ++;
}
} private int count = 1;
}
}
说明:其中的staic class可以改为class
非常感谢你的帮助!我是今年4月份学的java,希望能常和你联系。
我的email:[email protected];oicq:1013773.
请看这个!~