xpath get element by index

xml, xpath, xslt

Solution

In XPath index starts from 1 position, therefore

//div[@class="post-content"]//img[2]

should work correctly if you have to select each 2nd `img` in `div[@class="post-content"]`. If you want to select only 2nd `img` from all images that are in `div[@class="post-content"]`, use:

(//div[@class="post-content"]//img)[2]

Problem

I have the below xpath expression ``` //div[@class="post-content"]//img ``` which runs on a html page, scanning for images. The above query returns a lot of images but I only want the second in the list. I have tried these with no luck: ``` //div[@class="post-content"]//img[1] and //div[@class="post-content"]//img[position()=1] ```

Original source