Мне бы хотелось разобрать метаданные на книгу. Whild, пытающийся получить название Booktitle, я заметил, что не могу получить доступ к ChildNodes из элемента, содержащего TextNode. Вот мои данные:Jsoup возвращает неверный ChildNode
<div id="detail_content_wrapper">
<h1>
MyBookTitle 22<br>
<span class="sub">
subtext
Book 22
by <a href="/buch-autor/foo-bar">Foo Bar</a>
</span>
</h1>
Я извлечь элементы в "detail_content_wrapper" с помощью:
Document parsedObject = Jsoup.parse(source);
Element bookNotes = parsedObject.getElementById("detail_content_wrapper");
Element h1Element = bookNotes.getElementsByTag("h1").first()
Это даст мне полное содержание внутри h1-Tag.
Когда я смотрю на дочерние узлы h1-element, первый Childnode является TextNode, который содержит BookName. НО когда я пытаюсь получить содержание первого ребенка ...
Element bookName = h1Element.children().first();
ИЛИ Element bookName = h1Element.childNode(0);
... Это, в обоих случаях, содержат 2-го узла, который является уш-Element.
Является ли это ошибкой или я использую Jsoup неправильно?
возможно дубликат [Как получить этот текст с помощью Jsoup?] (Http://stackoverflow.com/questions/9417295/how-do-i-get-this-text-using-jsoup) – jmort253
Спасибо друг. Я исправил это с помощью метода ownText(). Но мы не должны закрывать этот поток, пока поведение метода childNode не станет ясным. Невозможно получить доступ к ChildNode, содержащему TextNode, как я вижу. – Goot
Можете ли вы уточнить свой вопрос, чтобы выделить эту часть и прояснить части, которые не являются дуплексом. Это поможет предотвратить его закрытие как таковое. Надеюсь это поможет. – jmort253