java - 使用 Jsoup 仅删除 html 标签并保留标签内的文本

标签 java jsoup

只想删除内部标签“span”,不想删除其中的文本

<blockquote>
      <span>I don’t even bring up technology.</span> 
          I talk about the flow of data.&rdquo;
      <cite>&ndash;Rick Hassman, CIO, Pella</cite>
</blockquote>

解析后应该是这样的

    <blockquote>
            I don’t even bring up technology.
              I talk about the flow of data.&rdquo;
          <cite>&ndash;Rick Hassman, CIO, Pella</cite>
    </blockquote>

请帮忙..

最佳答案

解决这个问题最简单的方法是使用 String.replace() 方法。

String newHtml = html.replaceAll( "<\\/?\\s*span.*?>", "");

如果您更喜欢使用 Jsoup,那么它会变得更复杂:

        Document doc = Jsoup.parse(html);
        for (Element e : doc.select("span")) {

            Element parent = e.parent();
            Element newParent = parent.clone();
            newParent.empty();
            for (Node n : parent.childNodes()) {

                if (n instanceof Element && ((Element) n).tag().getName().equals("span")) {
                    newParent.append(((Element) n).html());
                } else {
                    newParent.append(n.outerHtml());
                }

            }
            parent.replaceWith(newParent);

        }

关于java - 使用 Jsoup 仅删除 html 标签并保留标签内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51204088/

相关文章:

java - JFreeChart:使用 ChartMouseEvent 在散点图上显示数据

javascript - Java 中的 HTMLUnit - 如何导航到 GridView 页面

java - 如何使用 JSoup 构建 NodeTraversor/NodeVisitor?

java - 根据ArrayList B 对ArrayList A 进行排序

java - 向 Java 集合添加额外的逻辑

java - 将json解析为Gson中的字符串

java - 如何修复 "java.sql.SQLException: Can' 当 autocommit=true 时调用提交”

java - 为什么我的 jsoup.connect(url) 无法使用某些 url?

java - JSOUP 带有加载文本和圆圈的网页抓取页面

java - JSoup 不翻译 html 链接中的 & 符号