Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Don';不要在jsoup中的另一个标记中显示一个标记_Java_Html_Jsoup - Fatal编程技术网

Java Don';不要在jsoup中的另一个标记中显示一个标记

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是

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
是第一个子节点(
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