Если AppInfo.Names - это просто массив имен, попробуйте следующее:
var filterNames = new []{"Name1", "Name2", "Name3"};
var elements = from descendant in doc.Descendants()
.Where(desc =>filterNames.Contains(desc.Name))
select descendant.Value;
AppInfo.Names = elements.ToArray();
EDIT:
В случае, если Names являются свойствами, вы можете использовать что-то вроде:
var names = AppInfo.Names
{
Name1 = doc.Descendants("Name1").First().Value,
Name2 = doc.Descendants("Name2").First().Value,
Name3 = doc.Descendants("Name3").First().Value
}