Я пытаюсь выработать XPath от <a id='me'>match</a>
, который будет соответствовать элементам, находящимся на одном уровне. IE. Братья, сестры, кузены, троюродные и т.д. ...XPath для возврата всех элементов на одном уровне
Используя следующий XML, выражение XPath из первого <a id='me'>match</a>
, который возвращает все элементы на одном уровне с идентификатором атрибута из «я»: -
<alpha>
<beta>
<gamma1>
<a id='me'>match</a>
<a id='me'>match me too</a>
<b id='me'>no match</b>
</gamma1>
<gamma2>
<a id='notme'>no match</a>
<a id='me'>match</a>
</b>
</gamma2>
</beta>
<delta>
<epsilon>
<a id='notme'>no match</a>
<a id='me'>match</a>
</b>
<foo>
<a id='me'>no match</a>
</foo>
</epsilon>
</delta>
<bar>
<a id='me'>no match</a>
</bar>
</alpha>
.\..\a[@id='me']
вернет два элемента в <gamma1>
и .\..\..\*\a[@id='me']
вернет соответствующие элементы в <gamma1>
и <gamma2>
. Тем не менее, я пытаюсь сделать XPath, который вернет все соответствующие элементы на одном уровне в документе, не имеющие значения их глубины.
Я мог бы цикл в коде, идя вверх и вниз с помощью построения динамических XPaths, но это не будет очень элегантно и, вероятно, займет много времени, чтобы запустить ..
Любой человек с какой-либо идеи?
Возможно [это] (http://stackoverflow.com/questions/3174622/get-elements-of-specific-hierarchy-level) может помочь? – vesan