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 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事: