XPath (SimpleXML) выбор ребенка на основе значения дочернего брата

Я использую SimpleXML (Java) и пытаюсь получить список объектов, основываясь на значении одного из элементов этого списка.

Итак, вот мой XML:

<xml>
  <metadata>
    <resources>

      <resource>
        <ittype>Service_Links</ittype>
        <links>
          <link>
            <path>http://www.stackoverflow.com</path>
            <description>Stack Overflow</description>
          </link>
          <link>
            <path>http://www.google.com</path>
            <description>Google</description>
          </link>
        </links>
      </resource>

      <resource>
        <ittype>Article_Links</ittype>
        <links>
          ...
        </links>
      </resource>

      ...

    </resources>
  </metadata>
</xml>

Я пытаюсь создать SimpleXML-аннотацию с использованием XPath, чтобы получить список всех"links"&nbsp;где список братьев и сестер"ittype"&nbsp;равняется"Service_Links".

Так, например, это работает, но только если я пытаюсь получить 1-й статически"resource"-узел (в отличие от динамического получения"resource"узел, основанный на том, что это"ittype"&nbsp;является:

@ElementList(name="links")
@Path("metadata/resources[1]/resource")
public List<Link> link;

Я пробовал так много способов отформатировать xpath для динамического поиска"resource"-не хочу, чтобы я не мог перечислить их всех здесь; однако это один пример, который я пробовал, который, как мне кажется, должен работать; Понятия не имею, что я делаю неправильно ...

@ElementList(name="links")
@Path("metadata/resources[resource/ittype='Service_Links']/resource")
public List<Link> link;

Я гуглил тонну, в том числе здесь, на SO, и просто не могу найти много очень похожего; и то, что я нашел, не достаточно хорошо перевело, чтобы я мог определить, что мне нужно делать. Например,это ТАК&nbsp;не похоже, что он работает, хотя это довольно похоже.



UPDATE #1 (8OCT @ 12:38pm)

По отзывам я пробовал это:

@ElementList
@Path("metadata/resources/resource[ittype='Service_Links']")
public List<Link> link;

Нет кости: &nbsp;&nbsp;&nbsp;&nbsp;org.simpleframework.xml.core.PathException: недопустимый индекс для пути «метаданные / ресурсы / ресурс [ittype =» Service_Links & apos;] »; в поле «ссылки»;