Pet*_*šek 3 html element jsoup
Jsoup可以设置一组节点的父元素吗?我的意思是包装它,但不是每个匹配的元素 - 只创建一个父元素?所以我想将更多元素融入其中?
示例:之前
<b>some text<i> blabla </i> other text </b>
Run Code Online (Sandbox Code Playgroud)
后
<span id='something'><b>some text<i> blabla </i> other text </b></span>
Run Code Online (Sandbox Code Playgroud)
<b>some te
<span id="cke_bm_69S" style="display: none;"> </span>
xt</b>
aaa
<i>bb
<span id="cke_bm_69S" style="display: none;"> </span>
b</i>
Run Code Online (Sandbox Code Playgroud)
跨度标签是书签 - 开始选择和结束选择 - 从 CKEDITOR 添加。然后在服务器端我必须处理它。这是目标 - 添加最终跨度并删除临时跨度(书签):
<b>some te</b>
<span id="something"><b>
xt</b>
aaa
<i>bb
</i></span><i>
b</i>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,它必须解决标签交叉问题。
public static void main(String... args) throws IOException {
Document document = Jsoup.parse("<div>"
+ "<b>some text<i> blabla </i> other text </b>" + "</div>");
Element b = document.select("b").first();
Element span = document.createElement("span");
span.attr("id", "something");
b.replaceWith(span);
span.appendChild(b);
System.out.println(document);
}
Run Code Online (Sandbox Code Playgroud)
输出
<html>
<head></head>
<body>
<div>
<span id="something"><b>some text<i> blabla </i> other text </b></span>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)