如何在XML片段中获得value标记的值?



哪里是一个很好的资源,我学习如何通过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();

相关内容

  • 没有找到相关文章

最新更新