Это в ряд. Я немного исправил ваш xml:)
var xml = "<item attr=\"some attribute\"><description>anything</description></item>";
var ds = new DataSet();
ds.ReadXml( new StringReader( xml ), XmlReadMode.Auto );
var ia = ds.Tables[0].Rows[0].ItemArray;
var att = ia[1]; // att == "some attribute"
Если у вас нет схемы, вам, возможно, придется проверить столбец, чтобы определить, что это такое.
За комментарий: вы увидите, что я позволю ему сделать вывод о схеме (XmlReadMode.Auto). Он принимает элементы под корневым узлом в виде строк, затем добавляет атрибуты по порядку, а затем значение в элементе. Так, например, следующий XML ...
var xml = "<items>
<item attr1='attr1' attr2='attr2'>
<description>desc1</description>
</item>
<item attr1='attr3' attr2='attr4'>
<description>desc2</description></item>
</items>";
Я получу две строки (по одной для каждого элемента) со столбцами для attr1, attr2 и description. Вы можете изменить способ интерпретации XML с помощью схемы.