Success!
Scrap the xsl, and just use a SQL query.
In our case, we had to pull out bids for an auction, names, and the time/date column from the submissions table:
SELECT top 4 CAST (substring(Submission,charindex('$',Submission),800) AS money) as [Leading bid],SubmissionDate as [Bid Date/Time], substring(Submission,
charindex('name ***',Submission)+8,
10) as [Bid by]
from databasename.dbo.ODSFormSubmission
WHERE ModuleID= 5651 AND charindex('$',Submission) > 0
Order by [Leading bid] DESC
In your case you can scrap the money conversion, but I'd imagine you'll have to use a pair of nested subtrings for each item - i.e. one to trim off the "Name ***" before the name, and another to trim from "*** Address" on.
Hope that helps.