我試圖用Jsoup遍歷DOM的節點,並在滿足條件時刪除一些節點及其子節點。不過,我這樣做的例外是java.lang.NullPointerException
。我有類似:Jsoup在遍歷時刪除節點和子節點
File input = new File(inputPath);
Document doc = Jsoup.parse(input, "UTF-8");
doc.traverse(new NodeVisitor() {
@Override
public void head(Node node, int depth) {
switch (node.getClass().getName()){
case "org.jsoup.nodes.Element":
Element elem = (Element) node;
Map<String, String> dataset = elem.dataset();
for (String key : dataset.keySet()) {
.....
// Here is the problem
if (someCondition) node.remove()
}
break;
case "org.jsoup.nodes.TextNode":
....
break;
}
}
@Override
public void tail(Node node, int depth) {
}
});
不知怎的,它是有道理的,它不會讓我刪除節點,而迭代他們,但是這將是實現這一目標,則方法是什麼?遍歷DOM時移除節點及其子節點?
是的,這實際上是我最終做的最後... – houcros