Java Don';不要在jsoup中的另一个标记中显示一个标记
HTML文件Java Don';不要在jsoup中的另一个标记中显示一个标记,java,html,jsoup,Java,Html,Jsoup,HTML文件 SCH4UE-01:化学区块:1-rm。315 我不想要br标签,但我想要所有其他文本(SCH4UE-01:Chemistry) 我尝试过的CSS查询 td:eq(0)输出:SCH4UE-01:化学块:1-rm。315 但是 br输出:块:1-rm。315 标记是空标记,这意味着它没有结束标记 见: 将标记替换为(如果打印jsoup文档,您将看到jsoup自动修复此类错误)您的标记有四个子节点: #文本 br #文本 br 因此,文本SCH4UE-01:Chemistry是
SCH4UE-01:化学
区块:1-rm。315
我不想要br
标签,但我想要所有其他文本(SCH4UE-01:Chemistry
)
我尝试过的CSS查询
td:eq(0)
输出:SCH4UE-01:化学块:1-rm。315
但是
br
输出:块:1-rm。315
标记是空标记,这意味着它没有结束标记
见:
将
标记替换为
(如果打印jsoup文档,您将看到jsoup自动修复此类错误)您的
标记有四个子节点:
#文本
br
#文本
br
SCH4UE-01:Chemistry
是第一个子节点(element.childnode(0)
)
代码
String htmlString = "<html><body><table><td> SCH4UE-01 : Chemistry <br> Block: 1 - rm. 315 <br></td></table></body></html>";
Document doc = Jsoup.parse(htmlString);
Elements tdElements = doc.select("td");
for (Element tdElement : tdElements){
System.out.println(tdElement.childNode(0));
}
td
标记应位于表中
。请添加完整的HTML,以便我们可以帮助您。这是可行的,但为什么CSS查询不起作用?eq:(0)
是否等同于childNode(0)
?:eq(index)
::eq(n):“查找同级索引等于n的元素;”。因此,它可以找到具有相同同级索引的其他tds。另外:TextNodes不是html元素,因此tdElement.children().size()
是2(只有两个
标记)。见:
String htmlString = "<html><body><table><td> SCH4UE-01 : Chemistry <br> Block: 1 - rm. 315 <br></td></table></body></html>";
Document doc = Jsoup.parse(htmlString);
Elements tdElements = doc.select("td");
for (Element tdElement : tdElements){
System.out.println(tdElement.childNode(0));
}
SCH4UE-01 : Chemistry