我如何仅从根元素中提取文本内容-java,com.gargoylesoftware.htmlunit.html

问题描述 投票:0回答:1

我找不到使用com.gargoylesoftware.htmlunit.html仅从根元素中提取文本内容的任何方法。这是一些示例:

<td>
  W 03:10 PM-04:25 PM
  <strong>
     <br>
     Hybrid (50%+ in-person)
  </strong>
</td>

我想从根元素中提取文本内容(在这种情况下为“ td”,但它也从子元素中提取文本内容,这是我不希望的部分:

private void extractTextContent(HtmlElement htmlElement) {
    String content = htmlElement.getTextContent();
    System.out.println(content);
}

输出:

W 03:10 PM-04:25 PMHybrid (50%+ in-person)

期望的输出:

W 03:10 PM-04:25 PM

我已经尝试使用其他方法调用“ asText()”,但是这并没有给我想要的输出。使用com.gargoylesoftware.htmlunit.html找不到任何有相同问题的人。有什么方法/方法只能从根元素中提取文本内容?

编辑:谢谢你的回答。我使用删除子节点的相同想法来获得所需的输出。这是java的语法:

private void extractTextContent(HtmlElement htmlElement) {
    DomNode child = htmlElement.getLastElementChild();
    String tagname = "";
    if(child != null) {
        tagname = child.getTextContent();
        htmlElement.removeChild(tagname, 0);
    }
    String content = htmlElement.getTextContent();
}
java html web-scraping htmlelements
1个回答
0
投票

您可以在获取textContent之前尝试删除子节点。

© www.soinside.com 2019 - 2024. All rights reserved.