Я должен сказать, что я исправил XML, который вы предоставили, прежде чем получил рабочий запрос ниже.Таким образом, вы не закрыли два последних тега и закрыли тег Key2
на </Key1>
, что является неправильным XML.
Попробуйте выполнить следующее, это вернет список записей (по одному на ключ), где каждыйзапись анонимного типа со свойствами: имя, значение, тип
var keys = xdoc.Descendants("ShortcutList")
.Descendants("Doctor")
.Descendants("Key_Part")
.DescendantNodes()
.OfType<XElement>()
.Where(d => d.Name.LocalName.Contains("Key"))
.Select(e => new {
Value = e.Value,
Name = e.Attribute("Name").Value,
Type = e.Attribute("Type").Value
})
.ToList();
РЕДАКТИРОВАТЬ: Fixed XML
<ShortcutList Version="8">
<Doctor>
<Key_Part >
<Key1 Name = "XX" Type= "XXXXXXXXX" > rrrr</Key1>
<Key2 Name = "XasfsaX" Type= "XXXXsafasfXXXXX" > rrsfsfrr</Key2>
</Key_Part>
</Doctor>
</ShortcutList>