HtmlParser--HtmlPage
发布日期:2021-10-17 16:08:14 浏览次数:2 分类:技术文章

本文共 1346 字,大约阅读时间需要 4 分钟。

//测试HtmlPage的用法, 遍历节点

    public void testHtmlPage() {

       Parser parser = null;

       HtmlPage htmlPage = null;

       NodeList list = null;

      

       try {

           parser = new Parser();

           String inputHTML = "<html>" + "<head>" +

                     "<title>Welcome to the HTMLParser website</title>" +

                     "</head><body>Welcome to HTMLParser" +

                     "<table id=’table1′ >" +

                     "<tr><td>1-11</td><td>1-12</td><td>1-13</td>" +

                     "<tr><td>1-21</td><td>1-22</td><td>1-23</td>" +

                     "<tr><td>1-31</td><td>1-32</td><td>1-33</td></table>" +

                     "<table id=’table2′ >" +

                     "<tr><td>2-11</td><td>2-12</td><td>2-13</td>" +

                     "<tr><td>2-21</td><td>2-22</td><td>2-23</td>" +

                     "<tr><td>2-31</td><td>2-32</td><td>2-33</td></table>" +

                     "</body></html>";

           parser.setInputHTML(inputHTML);

          

           htmlPage = new HtmlPage(parser);

           parser.visitAllNodesWith(htmlPage);

          

           System.out.println("Title:" + htmlPage.getTitle());

           list = htmlPage.getBody();

          

           for (NodeIterator iterator=list.elements(); iterator.hasMoreNodes();) {

              Node node = iterator.nextNode();

              System.out.println(node.toHtml());

           }

          

           TableTag[] tables = htmlPage.getTables();

          

           for (int i=0; i<tables.length; i++) {

              TableRow[] rows = tables[i].getRows();

              for (int r=0; r<rows.length; r++) {

                  TableColumn[] cols = rows[r].getColumns();

                  for (int c=0; c<cols.length; c++) {

                     System.out.print(cols[c].toPlainTextString() + " ");

                  }

                  System.out.println();

              }

           }

          

       } catch (ParserException e) {

           e.printStackTrace();

       }

      

    }

转载地址:https://blog.csdn.net/thamsyangsw/article/details/4424630 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:将 HTML 文件转换成 XML
下一篇:HtmlParser--TextExtractingVisitor

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月07日 16时59分53秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【面试篇】数据结构-树形结构 2019-04-26
【面试篇】数据结构-哈希表 2019-04-26
【Leetcode刷题篇】leetcode88 合并两个有序数组 2019-04-26
【Leetcode刷题篇】剑指offer51 数组中的逆序对 2019-04-26
【Leetcode刷题篇】剑指offer55-平衡二叉树 2019-04-26
【Leetcode刷题篇】leetcode98 判断一棵树是否为二叉搜索树 2019-04-26
Java中arraylist和数组的相互转换 2019-04-26
【Leetcode刷题篇 】leetcode147 对链表进行插入排序 2019-04-26
【Leetcode刷题篇】leetcode148 排序链表 2019-04-26
【面试篇】Java中String、StringBuilder与StringBuffer的区别? 2019-04-26
【面试篇】Java对象的hashCode()相同,equals()一定为true吗? 2019-04-26
【面试篇】Java中static和final关键字的作用是什么? 2019-04-26
【面试篇】Java中接口和抽象类的区别是什么? 2019-04-26
【Java网络编程与IO流】Java中IO流分为几种?字符流、字节流、缓冲流、输入流、输出流、节点流、处理流 2019-04-26
【Java网络编程与IO流】Java中BIO、NIO、AIO的区别是什么? 2019-04-26
【Leetcode刷题篇】leetcode136 只出现一次的数字 2019-04-26
spring boot整合thymeleaf,支持JSP和HTML页面开发 2019-04-26
【Java网络编程与IO流】Spring boot整合SSE实现服务器实时推送流信息 2019-04-26
【Java网络编程与IO流】SpringBoot + WebSocket + Netty实现实时的服务器消息推送 2019-04-26
【Leetcode刷题篇】leetcode141 环形链表II 2019-04-26