为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕莱坞森 2023-10-10 16:35:36
我找不到任何方法来使用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();}
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

您可以尝试在获取 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();

}


查看完整回答
反对 回复 2023-10-10
  • 1 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信