gpt4 book ai didi

xml - 我如何选择 XElements where Attribute ... (LINQ2XML)

转载 作者:数据小太阳 更新时间:2023-10-29 02:21:31 25 4
gpt4 key购买 nike

如何使用 Linq 选择 id == id && key == key 的值

xml:

<Localization>    
<Module id="Customers">
<CultureCode>de-DE</CultureCode>
<Key>General</Key>
<Value>Allgemeine Kunden</Value>
</Module>
<Module id="Contract">
<CultureCode>de-DE</CultureCode>
<Key>General</Key>
<Value>Allgemeine Verträge</Value>
</Module>
</localization>

这是我的方法

方法(字符串模块,字符串键)...

var value = (from l in localization.Elements("Localization").Elements("Module")
where l.Attribute("id").Equals(module) && l.Element("Key").Value.Equals(key)
select l.Element("Value").Value);

最佳答案

假设 module 是一个字符串,问题是您将 XAttributestring 进行比较。

这是查询的固定版本:

var value = (from l in localization.Elements("Localization").Elements("Module")
where (string) l.Attribute("id") == module &&
l.Element("Key").Value == key
select l.Element("Value").Value);

请注意,我将 XAttribute 转换为字符串而不是使用 Value 属性,这样如果 id 属性不存在, 它只会不匹配而不是爆炸。

如果你想要一个单一的值,你应该在结果取决于您想要的语义。

关于xml - 我如何选择 XElements where Attribute ... (LINQ2XML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1206539/

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