我在google.groups上發佈了這個Jsoup組,但是最近似乎沒有太多活動,所以我也會在這裏嘗試...Element.empty()中的jsoup錯誤
下面的代碼
final String html = "<html><head></head><body><div></div></body></html>";
Document doc = Jsoup.parse(html);
Element body = doc.body();
Element div = body.select("div").first();
body.empty(); // <--- gives exception at line 56 below
// body.children().remove(); // does not give exception
body.appendChild(div); // line 56, IndexOutOfBoundsException here
與Jsoup 1.6.1,給我一個IndexOutOfBoundsException異常具有以下(部分,頂部7行)堆棧跟蹤
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.remove(ArrayList.java:387)
at org.jsoup.nodes.Node.removeChild(Node.java:394)
at org.jsoup.nodes.Node.reparentChild(Node.java:420)
at org.jsoup.nodes.Node.addChildren(Node.java:402)
at org.jsoup.nodes.Element.appendChild(Element.java:225)
at webfilter.FilterY.<init>(FilterY.java:56)
這裏FilterY是我的含有上面的代碼類。如果我使用body.children()。remove()而不是body.empty(),它可以正常工作。
問題是......我濫用Jsoup在這裏,還是這真的是一個錯誤?
此外,您還可以在div元素調用clone() – 2013-09-15 15:38:26