2015-05-22 208 views
0

我想從xmldata列中獲取節點<abc>的值。從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是類型爲nvarchar(max)的隊列表中的列名。 –

回答

0

正如你所說XMLDatastring,你需要分析這個,然後得到的abc值,像這樣:

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

XElement.Parse()是把一個字符串轉換成的XElement。

我想你只是想xmlData.Descendents("d").Descendents("abc")