W3C DOM API в Java, получите дочерние элементы по имени

Я просто понял что метод Element.getElementsByTagName("someTagName") возвращает nodelist всех элементов в документе, которые имеют данный tagname. Что, если я просто хочу получить все дочерние элементы именем тега?

Например...

<person>
  <name>Bob</name>
  <car>
    <name>Toyota Corolla</name>
  </car>
</person>
15
задан bluish 16 March 2011 в 07:36
поделиться

3 ответа

getElementsByTagName всегда работает в контексте элемента, для которого он вызван. Если вызвать Element , будут доступны только дочерние элементы с указанным именем тега. Я думаю, вы путаете это с объектом Document (org.w3c.dom. Document) getElementsByTagName , то будут возвращены все элементы с заданным именем тега в документе.

1
ответ дан 1 December 2019 в 02:29
поделиться

Не все элементы в документе — все descendant элементы элемента, который он вызывает. Похоже, это то, что вы хотите. Вам просто нужно назвать его справа Element. См. здесь.

0
ответ дан 1 December 2019 в 02:29
поделиться

У меня была похожая проблема. Попробуйте вместо этого посмотреть на класс Node:

http://java.sun.com/javase/6/docs/api/org/w3c/dom/Node.html#getChildNodes()

Там есть метод "getChildNodes", который возвращает список всех прямых дочерних узлов. Затем вам нужно отфильтровать этот список, чтобы получить только элементы-узлы с правильным именем.

3
ответ дан 1 December 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: