【问题标题】: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");
这返回<p>data</p> 我只想要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 对此进行了介绍。您可能会发现食谱的其他部分很有帮助。