XPath: найти значение и вернуть также путь, ведущий туда

Я хотел бы найти все вхождения тега в XML и вернуть их вместе с их родителем (или, может быть, со всеми их предками). Я не хочу полных предков, а только тег родителя (или всех предков).

Пример:

<a>
  <b>
    <c/>
    <d/>
  </b>
  <e>
    <c/>
    <d/>
  </e>
</a>

За это я бы хотел получить <b><c/></b> а также <e><c/></e> но они не должны содержать <d/> вещи. (Получение <a><b><c/></b></a> а также <a><e><c/></e></a> также будет хорошо.)

Имя тега c фиксируется в то время как b а также e неизвестны (и, следовательно, должны быть частью результата поиска).

Есть ли способ получить путь к результату поиска?

Я попробовал это:

  • //a//c → Но это возвращает только два <c/>,
  • //a//*[c] → Но это возвращает полный <b> а также <e>вместе с их содержанием <d/> (который в моем случае настолько велик, что загромождает результат таким образом, что мне нужно будет снова искать в этом).

0 ответов

Другие вопросы по тегам