Разберите мой html, чтобы извлечь <li>с помощью jSoup - PullRequest
0 голосов
/ 16 июня 2020

Вот мой html файл:

<div id="document_268753">
    <p class="keywords">
        <strong>keywords</strong>
        <ol>
            <li>element 1</li>

        </ol>
    </p>
    <div id="brique_268754">
        <p class="keywords_HTAG">
            <strong>keywords</strong>
            <ol>
                <li>element 2</li>
            </ol>
        </p>
    </div>
    <div id="brique_268754">
        <p class="keywords_HTAG">
            <strong>keywords</strong>
            <ol>
                <li>element 3</li>
            </ol>
        </p>
    </div>
</div>

Я хочу получить все «ключевые слова» и «ключевые слова_HTAG» в одном текстовом файле как товарищ:

element 1 
element 2
element 3

Вот что Я сделал это, но мне ничего не вернули:

        try{

Document doc = Jsoup.parse(input, "UTF-8", "");   
Elements li_keywords= doc.select("p.keywords ol li");
Elements li_HTAG = doc.select("p.keywords_HTAG ol li");

for(Element el: li_keywords) {
           keywords= keywords+ "\n" + el.text().toLowerCase();
              }
for(Element el: li_HTAG ) {
           keywords_htag= keywords_htag+ "\n" + el.text().toLowerCase();
              }
elements = keywords + keywords_htag
}

Есть идеи, где я ошибся?

1 Ответ

0 голосов
/ 16 июня 2020

Вы можете использовать doc.select("p[class^=keywords]");, чтобы получить все элементы, которые p с class, которое начинается со слова keyword - что охватывает как keyword, так и keyword_htag в вашем случае.
Вы можно использовать doc.select("li") для получения элементов li.

...