Mais simples do que realizar uma busca usando LinqToSQL (veja o post aqui), é realizar uma busca em um arquivo XML usando LinqToXML.
Vamos logo ao que interessa, ou seja, o código.
Primeiros devemos montar um arquivo do tipo XML.
<?xml version="1.0" encoding="utf-8" ?>
<garage>
<carro>
<cor>Azul</cor>
<ano>2000</ano>
<modelo>Gol</modelo>
</carro>
<carro>
<cor>Preto</cor>
<ano>2008</ano>
<modelo>Palio</modelo>
</carro>
<carro>
<cor>Branco</cor>
<ano>2006</ano>
<modelo>Uno</modelo>
</carro>
</garage>
Agora devemos carregar o arquivo criado acima e em seguida realizarmos uma consulta usando LINQ para escrever o resultado.
Ao montar a consulta você poderá realizar qualquer tipo de filtro, pois, nosso XML já está em uma collection, o que nos permite realizar uma busca atráves do LINQ.
//Carregue um arquivo do tipo XML
XDocument xml = XDocument.Load(Server.MapPath("upload/Arquivo.xml"));
//Recupere todos os nós do tipo "carro"
//Logo em seguida renomeie para os campos que você está retornando
var carros = from carro in xml.Descendants("carro")
select new
{
Cores = carro.Element("cor").Value,
Modelos = carro.Element("modelo").Value
};
//Realize um foreach em carros(Collections.Generic.IEnumerable)
//e escreva usando um dos nomes que você criou para retorno em sua consulta
foreach (var carro in carros)
{
Response.Write(carro.Cores);
}
Bem simples hein!
Qualquer dúvida podem me escrever.
Espero que tenham gostado e em breve tem mais.