私は、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