0
使用Jsoup,克隆的元素没有拥有者Document,这使得我无法设置这些元素的输出设置,并导致我的应用程序出现一些问题。试试这个:在Jsoup中设置克隆元素的输出设置
package test;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class Main {
public static void main(String[] args) {
Document doc = Jsoup.parse("<div></div>");
doc.outputSettings(new Document.OutputSettings().prettyPrint(false));
Element e = doc.body();
Element copy = e.clone();
System.out.println(e.outerHtml());//returns html not pretty printed
System.out.println(copy.outerHtml());//returns html pretty printed
System.out.println(copy.ownerDocument());//returns null
}
}
问题是,对于内联元素,这有所不同。举例来说,如果我得到
<body>
<div style="display:inline;">
test
</div>
<div style="display:inline;">
test
</div>
</body>
,而不是
<div style="display:inline-block;">test</div><div style="display:inline-block;">test</div>
我得到额外的空间,这是错误的。