Разбор строки и сбор элементов HTML с разными идентификаторами - PullRequest
3 голосов
/ 10 мая 2011

Я передал содержимое HTML в строку с именем «Html_content». Мне нужно проанализировать строку «Html_content» и выбрать несколько тегов DIV, используя там идентификаторы, например, «fullHeader» - это идентификатор DIV, мне нужно выбрать содержимое, которое находится внутри тега div «fullHeader», и сохранить его в виде строки.

Я пытался JSOUP , но мне нужно сохранить собранные теги div внутри Document, но мне нужно сохранить его как строку, но это невозможно с помощью Jsoup, есть ли альтернатива?

Ответы [ 3 ]

3 голосов
/ 10 мая 2011

Но мне нужно сохранить его как строку, но это невозможно с помощью Jsoup

Неправильно, Jsoup имеет Element#text()метод для этого.

String text = element.text(); // <div>foo<b>bar</b></div> will give "foobar"
// ...

Или, если вы также хотите включить HTML-код в строку, используйте Element.html() или Element#outerHtml(), в зависимости оттребование.

String html = element.html(); // <div>foo<b>bar</b></div> will give "foo<b>bar</b>"
// ...

или

String html = element.outerHtml(); // <div>foo<b>bar</b></div> will give exact this string
// ...
3 голосов
/ 10 мая 2011

JSoup это именно то, что вам нужно.Я понял, что вам нужно, чтобы вам возвращались элементы HTML в виде строки, чтобы вы могли в дальнейшем использовать их для создания другого документа.

Предположим, у вас есть объект Element, скажем ele извлеченныйвне HTML.

Теперь напишите

String htmlForEle = new Element (Tag.valueOf ("div")). append (ele.clone ()). remove (). html ();

html для ele - это именно то, что вы ищете.

0 голосов
/ 10 мая 2011

Если вы принудительно используете синтаксис HTML в XML, вы можете использовать XPath, SAX, DOM и другие инструменты XML для манипулирования документом.

...