Вы можете использовать "оси" following-sibling
и preceding-sibling
xpath для навигации, которая вам нужна.Вы можете получить задержанные здесь .
РЕДАКТИРОВАТЬ:
Вот пример, который дает мне результат, который вы хотите использовать только xpath.Однако это может не сработать для вас, в зависимости от того, на что похож окружающий XML: (Мне также пришлось завершить некоторые из тегов, чтобы они были «настоящим» XML. Возможно, вы сможете заставить его работать без этого, поместив свой XMLпарсер в режиме HTML ...)
import lxml.etree
xml = lxml.etree.XML("""<something><span class="filesize">File<a href="http://example.com/image.jpg" target="_blank">image.jpg</a>-(1.61 MB, 1000x1542, <span title="what the file is actually called.jpg">what the file is actually called.jpg</span>)</span><br/><a href="http://example.com/image.jpg" target="_blank"></a></something>""",)
print xml.xpath("a[preceding-sibling::span/text()='File']/@href")