Получение данных внутри данных

#android #html #dom #jsoup

#Android #HTML #dom #jsoup

Вопрос:

Я пытаюсь извлечь данные из следующего тега.

Я сделал это.

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

Это возвращает только то, что <p>data</p> я хочу data .

затем я попытался просмотреть get char за char.

Я хочу знать, есть ли какой-либо другой способ, которым я могу data легко получить.

Комментарии:

1. Я не понимаю, вы успешно используете две строки кода и хотите использовать меньше?

2. эй, он выдает мне строку <p>data </ p> с узлами, которые мне не нужны node

Ответ №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. Возможно, вам пригодятся другие разделы кулинарной книги.