Я знаю, что это старый вопрос, но, тем не менее, я могу добавить альтернативное решение.
Это не самый эффективный, но работает:
Получите всех детей, используя getElementsByTagName, затем просто убедитесь, что у каждого из них один и тот же родительский элемент с тем, с которого вы начали.
Я использую это, потому что у меня есть набор результатов, каждый результат может иметь результаты, вложенные в него. Когда я вызываю конструктор Result, мне нужно добавить любые вложенные результаты, но, поскольку они сами будут искать своих собственных детей, я не хочу добавлять дочерние элементы на текущий уровень (их родитель добавит их).
Пример:
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)));
}
}
Надеюсь, это поможет.