关闭jsoup中的自动关闭标记

时间:2015-07-01 01:14:12

标签: java jsoup

我正在尝试关闭自动生成关闭标记,我提到了这个链接

How to turn off automatic generation of close tags </tagName> in Jsoup?

 String html="<A HREF=\"#Item1\">\n"
                + "<p style=\"font-family:times;margin-top:12pt;margin-left:0pt;\">\n"
                + "<FONT SIZE=2>Item&nbsp;1.</FONT>\n"
                + "</A>";
        Document document = Jsoup.parse(html,"",Parser.xmlParser());

但是当我尝试时,我没有得到任何输出,我认为它会进入inifinte循环或其他什么。

这是我正在尝试的代码:(没有输出和挂起)

String html = "<table>"
                + "<tr align='top'>"
                + "<th><font>Link</th>"
                + "</tr>"
                + "</table>";

        Document document = Jsoup.parse(html,"",Parser.xmlParser());
        System.out.println(document.toString());

有人可以告诉我错误是什么吗? 我需要的是某种输出,说缺少结束标记。

编辑 - 抱歉我的eclipse有些问题。现在没有无限循环,但我的输出如下

String html = "<table>"
                + "<tr align='top'>"
                + "<th><font>Link</th>"
                + "</tr>"
                + "</table>";

        Document document = Jsoup.parse(html,"",Parser.xmlParser());

          System.out.println("UNPARSED = \n"+html + "\n---------------");
        System.out.println("parsed:" + document.toString());

输出

UNPARSED = 
<table><tr align='top'><th><font>Link</th></tr></table>
---------------
parsed:<table>
 <tr align="top">
  <th><font>Link</font></th>
 </tr>
</table>

我不希望添加</font>

编辑 -

我通过在使用Jsoup进行解析之前使用正则表达式进行检查来修复它。

1 个答案:

答案 0 :(得分:0)

@Abi我认为该示例可以删除touch(),即使您使用close tag来解析您的HTML,xmlParser仍会添加Jsoup到未封闭的标签。因为对于close tagxml节点,必须使用带有封闭标记的开放标记。你的例子证明了这一点。

我认为您可以使用html来执行此操作。