2015-05-22 2 views
0

Я хочу получить значение узла <abc> из столбца xmldata.Извлечь значение узла из xml

XML данных выглядит следующим образом:

<data id="d4E8121C9636942F18AC77F3EECD13ABA"> 
    <d id="pDF21A1781B684FAD8D476BF14F78D52D"> 
     <abc>ABC</abc> 
    </d> 
</data> 

Вот код:

using (var exampleSource = new ExampleDataSource()) 
{ 
    var xmlData = exampleSource.queue 
     .Where(a => a.QueueID == queueID) 
     .Select(a => a.XMLData) 
     .FirstOrDefault(); 

    var messages = from m in xmlData 
        select XElement.Parse("abc"); 
} 
+0

Почему вы разборе постоянную '«ABC»'? И какой тип 'XMLData'? –

+0

- это xmlData «XDocument»? – Jonesopolis

+0

XMLData - это имя столбца в таблице Queue типа nvarchar (max). –

ответ

0

Как вы сказали XMLData является string, вам нужно разобрать это, а затем получить значение abc так:

var abc = (string)XElement.Parse(xmlData).Descendants("abc").Single(); 
0

XElement.Parse() для превращения строки в XElement.

Я думаю, что вы просто хотите xmlData.Descendents("d").Descendents("abc").

Смежные вопросы