Find sibling node after specified node is found

xpath

Solution

How can I search for a first `k` sibling after `m` node? Basically, find some node and then continue searching from that node.

Assuming that we have the following well-formed XML document:

<t>
    <n></n>
    <k></k>
    <m></m>
    <k></k>
</t>

then the following XPath expression:

/*/m[1]/following-sibling::k[1]

selects the first `k` following-sibling of the first `m` child of the top element of the XML document.

Problem

Consider the following very simplified example. ``` <n></n> <k></k> <m></m> <k></k> ``` How can I search for a first `k` sibling after `m` node? Basically, find some node and then continue searching from that node.

Original source