首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么解析HTML文件

2012-03-05 
如何解析HTML文件?比如有个table,如何能根据ID找到它,然后读出有几个TR,每个TR中有几个TD,每个TD的内容,中

如何解析HTML文件?
比如有个table,如何能根据ID找到它,然后读出有几个TR,每个TR中有几个TD,每个TD的内容,中间内容如果是类似这样的<font color="#999999">,那如何再解析有什么属性




  <table id="xxxx" width="100%">
  <tr> 
  <td bgcolor="#FFFFFF">登录用户:
  </td>
  </tr>
  <tr>
  <td bgcolor="#FFFFFF">用户类型:<font color="#999999">
  注册会员
  </font></td>
  </tr>
  </table>

[解决办法]

Delphi(Pascal) code
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, OleCtrls, SHDocVw, StdCtrls, MSHtml;type  TForm1 = class(TForm)    wb1: TWebBrowser;    Button1: TButton;    procedure FormCreate(Sender: TObject);    procedure Button1Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin        wb1.Navigate('http://localhost:12880/mtm/abc.htm');end;procedure TForm1.Button1Click(Sender: TObject);var        doc: IHTMLDocument2;        mTable: IHTMLTable;        mRow: IHTMLTableRow;        mCell: IHTMLElement;        mElement: IHTMLElementCollection;        i,j: integer;begin        doc := wb1.Document as IHTMLDocument2;        mTable := doc.all.item('xxxx',0) as IHTMLTable;        for i:=0 to mTable.rows.length-1 do        begin                mRow := mTable.rows.item(i,0) as IHTMLTableRow;                for j:=0 to mRow.cells.length-1 do                begin                        mCell := mRow.cells.item(j,0) as IHTMLElement;                        showmessage(mCell.innerHTML);                end;        end;end;end. 

热点排行