Хорошо, я извлек результаты для обоих сценариев через мой запрос Linq, а затем перебрал два XElement, чтобы определить, какой из них мне нужно использовать.Мне просто нужно было подумать немного больше.Итак, теперь у меня есть намного меньший XML и один поиск.
IEnumerable<XElement> mping = (from mpings in mpingXML.Elements("mping")
where mpings.Element("sptrn").Value.Equals(sourceURL, StringComparison.InvariantCultureIgnoreCase)
&& (mpings.Attribute("lcl").Value.Equals(locale, StringComparison.InvariantCultureIgnoreCase) || mpings.Attribute("lcl").Value.Equals("ALL", StringComparison.InvariantCultureIgnoreCase))
select mpings);