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