gpt4 book ai didi

c# - 根据另一个元素值选择 XML 元素

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:05 24 4
gpt4 key购买 nike

<Root>
<Sub>
<Name>a</Name>
<Value>1</Value>
</Sub>
<Sub>
<Name>b</Name>
<Value>2</Value>
</Sub>
</Root>

如何根据 Name 元素选择 Value 元素的值?

编辑:在 XDocument 中,当我有“a”时如何获得值“1”。

最佳答案

我建议您使用转换节点而不是直接访问 Value 属性:

int value = xdoc.Descendants("Sub")
.Where(s => (string)s.Element("Name") == "a")
.Select(s => (int)s.Element("Value"))
.FirstOrDefault();

如果缺失节点的默认值(零)不符合您的需要,那么您可以在获取值之前检查所需的 Sub 元素是否存在:

var sub = xdoc.Descendants("Sub")
.FirstOrDefault(s => (string)s.Element("Name") == "a");

if (sub != null)
value = (int)sub.Element("Value");

或者使用 XPath 和 Linq 的简单一行:

int value = (int)xdoc.XPathSelectElement("//Sub[Name='a']/Value");

关于c# - 根据另一个元素值选择 XML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15346248/

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