yazdım, ama yine de ben eklemek için alternatif bir çözüm.
En verimli değil, ama çalışır:
getElementsByTagName kullanarak tüm çocukların, o zaman sadece her bir sen ile başlayan birine aynı üst öğesi kontrol alın.
Bunu kullanıyorum çünkü bir sonuç kümem var, her sonuç içinde iç içe geçmiş sonuçlara sahip olabilir. Sonuç Oluşturucu'yu aradığımda iç içe geçmiş sonuçları eklemem gerekir, ancak kendileri kendi çocuklarını arayacakları için çocukları mevcut seviyeye eklemek istemiyorum (ebeveynleri onları ekleyecektir).
Örnek: Bu yardımcı olur
NodeList children = resultNode.getElementsByTagName("result");
for(int i = 0; i<children.getLength(); i++){
// make sure not to pick up grandchildren.
if(children.item(i).getParentNode().isSameNode(resultNode)){
addChildResult(new Result((Element)children.item(i)));
}
}
Umut.
JDOM hakkında düşündüm, ancak DOM ile çok fazla kod yazdım. Dönüştürme çabasına bakmalıyım. Ama bunu DOM ile yapmanın bir yolu yok mu? – user152090
Bunu yapmak için uygun bir yol olduğunu düşünmüyorum. ancak, getChildNodes() çağrılarını alan, her öğenin adını kontrol eden, öğeleri yeni bir NodeList'e ekleyen ve ardından NodeList öğesini döndüren bir yöntem oluşturabilirsiniz. Adlandırılmış çocukları almak için ihtiyacınız olan her yerde bu yöntemi kullanın. Ya da mermiyi ısırıp JDom kullanın, uğraşmak çok daha kolay. –
Teşekkür ederim. Önerilen farklı çözümlere bakacağım. Hızlı cevabınız için teşekkür ederim. – user152090