Хорошо,
У меня есть запрос LinqToXml, который возвращает одну запись (правильная терминология?),
однако я не хочу использовать цикл for .. для извлечения этой записи из запроса. Есть ли более простой способ?
* бонус, если вы найдете лучший способ написать запрос (я все еще учусь)
мой xml файл:
<?xml version="1.0"?>
<!-- first draft of LibMappings.xml file -->
<LibMappings>
<File>
<Name>Foundation.dll</Name>
<Map>Lib\Foundation</Map>
</File>
</LibMappings>
Мой код:
private static string GetMapFor(string dllName)
{
//Opens Xml File and gets "Lib" map for dllName
string retVal;
XDocument libMapFile = XDocument.Load(_libMapFilePath);
//This query will return 1 record
IEnumerable<XElement> query = from c in libMapFile.Descendants("File")
where (string)c.Element("Name") == dllName
select c.Element("Map");
if (query.Count() == 1)
{
//there's only gonna be one here.. I might as well do this..
foreach (string x in query)
{
retVal = x;
break;
}
//I'd like to do this:
retVal = query[0];
}
return retVal;
}