Update: in XPath, . represents the "context node", or the node selected by the preceding path step. To select the <div class="category"/> where the text contents of the element are equal to "fruit":
/div[@class eq "category"][. eq "fruit"]
/following-sibling::div[@class eq "location"]/a/@href
If the HTML is formatted with whitespace in the text node (as it is in your example), you can use the contains() function to match part of the text node:
/div[@class eq "category"][contains(., "fruit")]
/following-sibling::div[@class eq "location"]/a/@href
Original Answer
You can select that href in many different ways. Based on your title, it seems that you are already selecting div/@class eq "category", so you could use the following-sibling axis like this:
/div[@class eq "category"]/following-sibling::div[@class eq "location"]/a/@href