gpt4 book ai didi

java - Jsoup的select返回集合而不是数组

转载 作者:行者123 更新时间:2023-12-01 11:12:27 24 4
gpt4 key购买 nike

我需要按类别选择所有元素。但 select 只返回唯一元素。例如,我有两个相同的元素 1,我想获取这两个元素并更改它们。但只改变第一个元素。如何获取元素数组而不是集合?

详细示例:

String str = "<span class="episode-number">1</span><span class="episode-number">1</span>";
Elements el = Jsoup.parse(str);
for(Element e: el.select(".episode-number")
e.wrap("<b></b>");

此代码片段将 str 转换为

"<b><span class="episode-number">1</span></b>
<span class="episode-number">1</span>"

相反

"<b><span class="episode-number">1</span></b> 
<b><span class="episode-number">1</span></b>"

最佳答案

您的示例无法编译。

  1. 这是错误的,因为类的双引号没有转义。

String str = "<span class="episode-number">1</span><span class="episode-number">1</span>";

  • 这是错误的,因为 Jsoup.parse返回 Document对象。
  • Elements el = Jsoup.parse(str);

  • for 循环中缺少括号。
  • 以下内容按预期工作

    String str = "<span class=\"episode-number\">1</span><span class=\"episode-number\">1</span>";
    Document doc = Jsoup.parse(str);
    for(Element e: doc.select(".episode-number"))
    e.wrap("<b></b>");

    System.out.println(doc);

    输出

    <html>
    <head></head>
    <body>
    <b><span class="episode-number">1</span></b>
    <b><span class="episode-number">1</span></b>
    </body>
    </html>

    关于java - Jsoup的select返回集合而不是数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32192879/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com