Linqはわかりませんが、下記のやり方でlistの中にidQのアトリビュートを格納できましたよ。
XmlDocument xDoc = new XmlDocument();
XmlNode xNode = null;
xDoc.Load(@"C:\Test.xml"); // ファイルの場所はC:\直下にしました
xNode = xDoc.DocumentElement;
List<string> list = new List<string>();
foreach (XmlNode var in xDoc[@"mso:customUI"])
{
if (var.Name.Equals(@"mso:ribbon"))
{
for (int i = 0; i < var.ChildNodes.Count; i++)
{
if (var.ChildNodes.Item(i).Name.Equals(@"mso:qat"))
{
for (int j = 0; j < var.ChildNodes.Item(i).ChildNodes.Count; j++)
{
if (var.ChildNodes.Item(i).ChildNodes.Item(j).Name.Equals(@"mso:sharedControls"))
{
for (int k = 0; k < var.ChildNodes.Item(i).ChildNodes.Item(j).ChildNodes.Count; k++)
{
if (var.ChildNodes.Item(i).ChildNodes.Item(j).ChildNodes.Item(k).Name.Equals(@"mso:control"))
{
//idQ
string test = var.ChildNodes.Item(i).ChildNodes.Item(j).ChildNodes.Item(k).Attributes["idQ"].Value;
list.Add(test);
}
}
}
}
}
}
}
}
スミマセン。
VBでしたね。