我想替换HTML文件中的一些元素,保持所有其他内容不变。
Document doc = Jsoup.parse("<div id=title>Old</div >\n" +
"<p>1<p>2\n" +
"<table><tr><td>1</td></tr></table>");
doc.getElementById("title").text("New");
System.out.println(doc.toString());
我希望得到以下输出:
<div id=title>New</span></div >
<p>1<p>2
<table><tr><td>1</td></tr></table>
相反,我有:
<html>
<head></head>
<body>
<div id="title">New</div>
<p>1</p>
<p>2 </p>
<table>
<tbody>
<tr>
<td>1</td>
</tr>
</tbody>
</table>
</body>
</html>
Jsoup补充道:
我可以将修改后的HTML序列化为原始版本吗? Jericho做到了这一点,但它没有像Jsoup那样提供灵活的DOM操作方法。
答案 0 :(得分:0)
对于其他要点,请尝试:
final String html = "<div id=title>Old</div >\n"
+ "<p>1<p>2\n"
+ "<table><tr><td>1</td></tr></table>";
Document doc = Jsoup.parse(html);
doc.select("[id=title]").first().text("New");
doc.select("body, head, html, tbody").unwrap();
doc.outputSettings().prettyPrint(false);
System.out.println(doc);