簡體   English   中英

如何僅從根元素中提取文本內容 - 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有相同問題的人。 有什么方法/方法可以僅從根元素中提取文本內容嗎?

編輯:謝謝你的回答。 我使用相同的刪除子節點的想法來獲得我想要的輸出。 這是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 語法編輯了我的答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM