hellosearchengine 2010-12-31 19:02
浏览 235
已采纳

高手帮助! HTMLParser懂得大侠进!

给这2个表格,如何过滤出指定的TD 表格内容项。我想根据td_num得到指定的td_value。因为标签属性都一样,所以有些困难。比如,我只想要第一个表格的td_value2和第二个表格的td_value6。如何根据td_num得到td_value呢???
请高手给出代码,最好用filter方法遍历节点访问内容。
代码好的,我会追加分!!!
[code="java"]

FN ISI Export Format
VR 1.0













td_1 td_value1
td_2 td_value2
td_3 td_value3

FN ISI Export Format
VR 1.0

















td_4 td_value4
td_5 td_value5
td_6 td_value6
td_7 td_value7
[/code]
  • 写回答

1条回答 默认 最新

  • jiangguangxian 2011-01-01 17:55
    关注

    [code="java"]
    import org.htmlparser.Node;
    import org.htmlparser.Parser;
    import org.htmlparser.filters.RegexFilter;
    import org.htmlparser.util.NodeIterator;
    import org.htmlparser.util.NodeList;
    import org.htmlparser.util.ParserException;
    public class HTMLParserMain {

    public static void main(String [] args)
    {
        String htmlPath = "D:\\test.html";
        try {
             String reg = "[2,6]";
             Parser parser = new Parser(htmlPath);
             RegexFilter filter = new RegexFilter ("td_"+reg+"{1,}");
             NodeIterator iterator = parser.extractAllNodesThatMatch (filter).elements ();
             Node node;
             Node np;
             NodeList nlist;
             while(iterator.hasMoreNodes()){
                 node = iterator.nextNode();
                 nlist =  
                     node
                     .getParent()
                     .getParent()
                     .getChildren();
                 System.out.println(nlist.elementAt(3).toPlainTextString());
             }
    
        } catch (ParserException e) {
            e.printStackTrace();
        }
    }
    

    }
    [/code]

    反正用RegexFilter,可以这么来做,应该不算很好的方法,但是是个可行的方法,可以根据你给的number生成regex,然后匹配出你要的值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 波形合成电路的设计学习
  • ¥15 unity脚本挂不上
  • ¥15 数学建模数学建模需要
  • ¥20 Java Sound Api 调用Mixer.getLine偶现Line unsupported错误。
  • ¥15 使用cuda加速opencv运算但是报错AttributeError: module 'cv2.cuda' has no attribute 'getCudaEnabledDeviceCount'
  • ¥15 java输入输出异常
  • ¥15 三子连珠对弈小游戏制作
  • ¥15 C++扑克牌游戏的编程
  • ¥15 有人能看一下我宿舍管理系统的报修功能该怎么改啊?链表那里总是越界
  • ¥15 cs loadimage运行不了,easyx也下了,没有用