does that inspires you?
static void Main(string[] args)
{
string xml = @"<ch>
<it>
<a></a>
<det id=""1234"" hosted=""true""/>
</it>
<it>...</it>
</ch>";
var xxml = XElement.Parse(xml);
var list = from e in xxml.Descendants("det")
from attr in e.Attributes()
select new { Node = e, Attr = attr };
foreach (var item in list)
Console.WriteLine("{0}, {1}={2}", item.Node.Name.LocalName, item.Attr.Name.LocalName, item.Attr.Value);
}