如何使用 Jsoup 提取单独的文本节点?
我有一个这样的元素:
<td> TextA <br/> TextB </td>
如何分别提取 TextA 和 TextB?
I have an element like this :
<td> TextA <br/> TextB </td>
How can I extract TextA and TextB separately?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
几种方法。这实际上取决于文档本身以及给定的 HTML 标记是否一致。在此特定示例中,您可以通过
Element#childNodes()
然后单独测试每个节点是否是TextNode
与否。例如,
我认为
如果 Jsoup 提供
Element#textNodes()
或像Element#children()
那样获取子文本节点的东西会很好获取子元素(在示例中将返回
元素)。Several ways. That really depends on the document itself and whether the given HTML markup is consistent or not. In this particular example you could get the
td
's child nodes byElement#childNodes()
and then test every node individually if it's aTextNode
or not.E.g.
which results in
I think it would be nice if Jsoup offered a
Element#textNodes()
or something to get the child text nodes like asElement#children()
does to get the child elements (which would have returned the<br />
element in your example).