Double
Slash ' // ' only selects all the nodes that are descendants of the
matching nodes including the matching nodes themselves. Single Slash ' /
' only selects all the nodes that are the child of the matching nodes.
XPath having Double Slash ' // ' before Single Slash ' / ' is given below:
//div/span
For Example:
<div id='div_one'> <span id='span_one' /> <div id='div_two'> <span id='span_two' /> </div> </div>
Here, If we use '//div/span' expression then we will get two 'span' nodes.
Why?
- For '//div' we will get two div node (div_one & div_two) because Double Slash ' // ' only selects all the nodes that are descendants of the matching nodes including the matching nodes themselves.
- For '/span' we will get two span node (span_one & span_two) as span_one is the direct child of div_one & span_two is the direct child of div_two.
Another Example:
<div id='div_one'> <ul> <li> <span id='span_one' /> </li> </ul> </div> <div id='div_two'> <p> <span id='span_two' /> </p> </div>
Here, If we use '//div/span'
expression then we will not be able to get any result as 'span' is not
the direct child of any of the above 'div' nodes.
No comments:
Post a Comment