Something like this:
var xml = XDocument.Load(@"http://www.hrdsoftwarellc.com/hrdxmlcountries/LogbookCountryDataEx.xml");
var cs = from c in xml.Root.Elements("Countries001").Elements("item")
select new
{
Latitude=c.Attribute("Latitude").Value,
Longitude=c.Attribute("Longitude").Value,
re = new Regex(c.Attribute("PrefixList").Value, RegexOptions.IgnoreCase)
};
var us = from u in xml.Root.Elements("UniqueCalls001").Elements("item")
let c = cs.FirstOrDefault( x=> x.re.IsMatch(u.Attribute("Callsign").Value))
select new
{
CallSign = u.Attribute("Callsign").Value,
Latitude = c.Latitude,
Longitude = c.Longitude
};
us.Dump();