⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tabletag.java

📁 本程序用于对页面信息进行提取并分析
💻 JAVA
字号:
// HTMLParser Library $Name: v1_6_20060319 $ - A java-based parser for HTML// http://sourceforge.org/projects/htmlparser// Copyright (C) 2004 Somik Raha//// Revision Control Information//// $Source: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tags/TableTag.java,v $// $Author: derrickoswald $// $Date: 2005/04/10 23:20:45 $// $Revision: 1.41 $//// This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public// License as published by the Free Software Foundation; either// version 2.1 of the License, or (at your option) any later version.//// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU// Lesser General Public License for more details.//// You should have received a copy of the GNU Lesser General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA//package org.htmlparser.tags;import org.htmlparser.NodeFilter;import org.htmlparser.filters.AndFilter;import org.htmlparser.filters.IsEqualFilter;import org.htmlparser.filters.NodeClassFilter;import org.htmlparser.filters.HasParentFilter;import org.htmlparser.filters.NotFilter;import org.htmlparser.filters.OrFilter;import org.htmlparser.util.NodeList;/** * A table tag. */public class TableTag extends CompositeTag{    /**     * The set of names handled by this tag.     */    private static final String[] mIds = new String[] {"TABLE"};    /**     * The set of end tag names that indicate the end of this tag.     */    private static final String[] mEndTagEnders = new String[] {"BODY", "HTML"};    /**     * Create a new table tag.     */    public TableTag ()    {    }    /**     * Return the set of names handled by this tag.     * @return The names to be matched that create tags of this type.     */    public String[] getIds ()    {        return (mIds);    }    /**     * Return the set of end tag names that cause this tag to finish.     * @return The names of following end tags that stop further scanning.     */    public String[] getEndTagEnders ()    {        return (mEndTagEnders);    }    /**     * Get the row tags within this table.     * @return The rows directly contained by this table.     */    public TableRow[] getRows ()    {        NodeList kids;        NodeClassFilter cls;        HasParentFilter recursion;        NodeFilter filter;        TableRow[] ret;        kids = getChildren ();        if (null != kids)        {            cls = new NodeClassFilter (TableTag.class);            recursion = new HasParentFilter (null);            filter = new OrFilter (                        new AndFilter (                            cls,                             new IsEqualFilter (this)),                        new AndFilter ( // recurse up the parent chain                            new NotFilter (cls), // but not past the first table                            recursion));            recursion.setParentFilter (filter);            kids = kids.extractAllNodesThatMatch (                // it's a row, and has this table as it's enclosing table                new AndFilter (                    new NodeClassFilter (TableRow.class),                    filter), true);            ret = new TableRow[kids.size ()];            kids.copyToNodeArray (ret);        }        else            ret = new TableRow[0];                return (ret);    }    /**     * Get the number of rows in this table.     * @return The number of rows in this table.     * <em>Note: this is a a simple count of the number of {@.html <TR>} tags and     * may be incorrect if the {@.html <TR>} tags span multiple rows.</em>     */    public int getRowCount ()    {        return (getRows ().length);    }    /**     * Get the row at the given index.     * @param index The row number (zero based) to get.      * @return The row for the given index.     */    public TableRow getRow (int index)    {        TableRow[] rows;        TableRow ret;        rows = getRows ();        if (index < rows.length)            ret = rows[index];        else            ret = null;                return (ret);    }    /**     * Return a string suitable for debugging display.     * @return The table as HTML, sorry.     */    public String toString()    {        return            "TableTag\n" +            "********\n"+            toHtml();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -