gpt4 book ai didi

c# - 带有 XML 问题的 LINQ

转载 作者:太空宇宙 更新时间:2023-11-03 22:21:01 25 4
gpt4 key购买 nike

如何使用 LINQ 检索基于条件 URL="localhoist"Supported 属性的特定值?谢谢。

<SomeSetting>
<Setting URL="abc.com" Supported="sb.new,mgrsma" />
<Setting URL="localhost" Supported="GG,LLmgrsma,FF1,FF3" />
<Setting URL="def.zxy.com" Supported="xyz" />
</SomeSetting>

最佳答案

像这样:

var localhost = doc.Descendants("Setting")
.Where(x => (string) x.Attribute("URL") == "localhost")
.Select(x => (string) x.Attribute("Supported"))
.FirstOrDefault();

一次一行:

  • 首先选择所有“设置”元素;您也可以使用 someSetting.Elements("Setting") 执行此操作,其中 someSettingSomeSetting 元素
  • 添加一个 where 子句来过滤掉没有 localhost URL 的元素。我正在使用显式字符串转换而不是 Value 属性,以便它处理没有 URL 属性的元素;在这种情况下,转换将返回 null
  • 选择 Supported 属性值 - 同样,如果 URL=localhost 元素没有 Supported 属性,这将返回 null。
  • 选择第一个结果,如果没有结果则选择 null。如果您可能有多个元素并想检查所有元素,只需删除此调用即可。

关于c# - 带有 XML 问题的 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3115947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com