哪里是一个很好的资源,我学习如何通过Linq从XML获得值?
给定下面从web服务返回的XML,我需要弄清楚如何在value标记中获取值,知道可能有多个SubscriberFieldType标记。在这个例子中,我只需要Value标签的值,后面的Name标签的值为"DisplayName"。
{<GetSubscriberFieldsResult>
<Result>true</Result>
<ResultCode>0</ResultCode>
<Message />
<Count>1</Count>
<SubscriberFields>
<SubscriberFieldType>
<Name>DisplayName</Name>
<Value>John Smith</Value>
</SubscriberFieldType>
</SubscriberFields>
</GetSubscriberFieldsResult>}
返回值
var result = dox.Descendants().Where(n => n.Name == "Value").FirstOrDefault();
好的,这似乎工作,希望这是一个很好的方法。
var displayName = subscriberFieldsResultXML.Root.Elements("SubscriberFields")
.Descendants("SubscriberFieldType")
.Where(i => (string)i.Element("Name") == "DisplayName")
.Select(i => (string)i.Element("Value"))
.FirstOrDefault();