猿问

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

我找不到任何方法来使用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();

}


慕莱坞森
浏览 75回答 1
1回答

慕运维8079593

您可以尝试在获取 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();}
随时随地看视频慕课网APP

相关分类

Html5
我要回答