从xml中检索节点值

时间:2015-05-22 18:32:24

标签: c# linq linq-to-xml

我想从xmldata列获取节点<abc>的值。

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");
}

2 个答案:

答案 0 :(得分:0)

XElement.Parse()用于将字符串转换为XElement。

我认为你只想要xmlData.Descendents("d").Descendents("abc")

答案 1 :(得分:0)

正如您所说XMLDatastring,您需要解析它,然后得到abc的值,如下所示:

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