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

How can I extract text content only from root element - java, com.gargoylesoftware.htmlunit.html

我找不到任何方法来使用 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 有相同问题的人。是否有任何 way/method 仅从根元素中提取文本内容?

编辑: 谢谢你的回答。我使用删除子节点的相同想法来获得我想要的输出。以下是 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();
}

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

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();
}

我已经使用@XYZ

提供的Java语法编辑了我的答案