Получить XML только непосредственные дочерние элементы по имени

Мой вопрос: Как я могу получить элементы непосредственно под определенным родительским элементом, когда есть другие элементы с тем же именем, что и "внук" родительского элемента.

Я использую библиотеку Java DOMдля анализа XML элементов, и у меня возникают проблемы. Вот некоторая(небольшая часть) XML-файла, который я использую:


  
    
      
        
        
        
      
    
    
    
    
  

Как видите, есть два места, где вы можете разместить элемент . Либо в группах, либо вне групп. Я действительно хочу, чтобы он был структурирован таким образом, потому что он более удобен для пользователя.

Теперь всякий раз, когда я вызываю notificationElement.getElementsByTagName("file");, он дает мне все элементы , включая те, что находятся в элемент. Я обрабатываю каждый из этих типов файлов по-разному, поэтому эта функциональность нежелательна.

Я придумал два решения:

  1. Получить родительский элемент файлового элемента и обработать его соответствующим образом (в зависимости от того, или .
  2. Переименуйте второй элемент , чтобы избежать путаницы.

Ни одно из этих решений не так желательно, как просто оставить все как есть и получить только элементы, которые являются прямыми потомками элементов .

Я открыт для IMPOкомментариев и ответов о «лучшем» способе сделать это, но я действительно заинтересован в решениях DOM, потому что это то, что остальная часть этого проект использует. Спасибо.

39
задан kentcdodds 21 May 2012 в 18:08
поделиться