【问题标题】:Getting data inside <div><p>data</p></div>获取 <div><p>data</p></div> 中的数据
【发布时间】:2018-10-21 22:24:13
【问题描述】:

我正在尝试从以下标签中获取数据。

我已经做到了。

Document doc = Jsoup.parse(currMsg);
Elements ele = doc.select("p");

这返回&lt;p&gt;data&lt;/p&gt; 我只想要data

然后我尝试逐个字符地遍历 get char。

我想知道有没有其他方法可以获得data 很容易。

【问题讨论】:

  • 没看懂,你用了两行代码成功还想少用?
  • 嘿,它给了我一个字符串

    data

    带有我不想要的节点的节点

标签: android html dom jsoup


【解决方案1】:

使用Element.text()Element.ownText() 获取元素的文本。 text() 返回元素内的所有文本,包括子元素内的文本,而 ownText() 仅返回该元素中的文本(不在任何子元素中)。 Element.textNodes() 给你更细粒度的控制,如果你想要一些但不是全部的文本。

textNodes() Javadoc 给出了一个小例子,展示了获取文本的不同方式之间的关系:

For example, with the input HTML: <p>One <span>Two</span> Three <br> Four</p>
with the p element selected:

p.text() = "One Two Three Four"
p.ownText() = "One Three Four"
p.children() = Elements[<span>, <br>]
p.childNodes() = List<Node>["One ", <span>, " Three ", <br>, " Four"]
p.textNodes() = List<TextNode>["One ", " Three ", " Four"]

Jsoup Cookbook 对此进行了介绍。您可能会发现食谱的其他部分很有帮助。

【讨论】:

    猜你喜欢
    • 2021-07-23
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    • 2019-11-26
    • 2017-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多