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/>
(который в моем случае настолько велик, что загромождает результат таким образом, что мне нужно будет снова искать в этом).