views:

49

answers:

2

As the title says, is it possible to select elements in XPath that only begin with a certain string, but perhaps do not end with the same?

For example there are 3 anchor elements:

<a href="buy.php/onething"></a><a href="buy.php/twothing"></a><a href="sell.php/anotherthing"></a>

I only want to get anchor elements that begin with 'buy.php/'. I don't think the following will work, will it:

getByXPath("//a[@href='buy.php/']")

How can I do this?

Thanks!

+5  A: 

//a[starts-with(@href, "buy.php/")]

http://www.zvon.org/xxl/XSLTreference/Output/function_starts-with.html

MooGoo
Perfect! Thank you.
Allen Gingrich
A: 

Not sure if this is exactly the correct syntax but you probably want to use the fn:contains xpath function. Other useful functions you can find here:

http://www.w3schools.com/xpath/xpath_functions.asp#string

getByXPath("//a[fn:contains(@href/text(), 'buy.php/')]")

Michael Bazos