Jsoup提取文本时保留标签
时间: 2023-12-31 14:05:35 浏览: 28
如果你想使用Jsoup提取文本时保留标签,可以使用以下代码:
```java
String html = "<p><b>Hello</b> World!</p>";
Document doc = Jsoup.parse(html);
String text = doc.select("body").html();
System.out.println(text);
```
这段代码会输出 `<p><b>Hello</b> World!</p>` ,也就是保留了 `<p>` 和 `<b>` 标签。
在这个例子中,我们首先将HTML字符串解析为Jsoup的 `Document` 对象。然后,我们使用 `select()` 方法选择了整个 `body` 元素,并使用 `html()` 方法获取了该元素的HTML代码。最后,我们将HTML代码输出到控制台。
需要注意的是,这种方法会保留所有的标签,包括空标签和自闭合标签。如果你只想保留某些标签,可以在 `select()` 方法中使用CSS选择器来选择需要的标签。
相关问题
使用jsoup清除html中所有标签的属性
可以使用以下代码使用jsoup清除HTML中所有标签的属性:
```java
String html = "<p style=\"color:red;\">This is some text.</p>";
Document doc = Jsoup.parse(html);
// 获取所有标签
Elements elements = doc.getAllElements();
// 遍历所有标签
for (Element element : elements) {
// 清除标签的所有属性
element.removeAttr("style");
}
// 输出处理后的HTML
System.out.println(doc.html());
```
在这个例子中,首先我们使用`Jsoup.parse()`方法将HTML字符串解析为一个`Document`对象。然后,我们使用`getAllElements()`方法获取所有标签,并使用`removeAttr()`方法清除标签的所有属性。最后,我们使用`html()`方法输出处理后的HTML字符串。
Jsoup解析html留下标签
你可以使用Jsoup的.text()方法来获取文本内容,该方法会自动去除HTML标签。如果你想要保留某些标签,可以使用Jsoup的.whitelist()方法来指定允许的标签,例如:
```java
String html = "<div><p>Hello, <b>world!</b></p></div>";
String whitelist = "<div><b>";
String text = Jsoup.clean(html, whitelist);
System.out.println(text); // 输出:<div>Hello, <b>world!</b></div>
```
在上面的例子中,我们指定只允许保留`<div>`和`<b>`标签,并且使用Jsoup的clean()方法进行过滤,保留了这两个标签,输出的结果为包含这两个标签的HTML内容。