Jsoup,表和伪选择器的组合

时间:2014-04-07 12:48:15

标签: java html-table jsoup

我目前正在使用网络软件(IxChariot)。此软件将输出导出为html格式。我想创建一个软件,将Ixchariot的html代码转换为其他HTML代码(我想添加一些提示并删除一些无用的信息)。

我需要删除一些表,但表之间的唯一区别是标题。

html代码示例:

<TABLE CELLPADDING=3 BORDER=1 style="page-break-inside : avoid">
<H2>Run Options</H2><BR>

其他例子:

<TABLE CELLPADDING=3 BORDER=1 style="page-break-inside : avoid">
<H2>Test Setup (Console to Endpoint 1)</H2><BR>

要执行该操作,我尝试使用jsoup中的伪选择器:

Elements table = doc.select("table:has(h2:contains(Run Options)").remove();

我也是这样尝过的:

Elements table = doc.select("table");
table:has(h2:contains(title));

但它没有用,(目前,所有代码都已删除)。 你能用伪选择器帮我吗?或者如果你有更好的主意..

ps:我不是专家,我只是在编程方面有一些基本知识。

1 个答案:

答案 0 :(得分:0)

也许问题是<H2>不是预期在<TABLE>内的元素所以它被JSoup删除。在这种情况下,请尝试使用简单的XML解析器而不是默认的HTML解析器。你可以用

来做
Jsoup.connect(yourUrl).parser(Parser.xmlParser()).get()