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