如何选择属性所在的元素。。。(LINQ2XML)
如何使用Linq选择id==id&&key==key的值 xml:如何选择属性所在的元素。。。(LINQ2XML),xml,linq,Xml,Linq,如何使用Linq选择id==id&&key==key的值 xml: 假设module是一个字符串,问题是您正在将XAttribute与字符串进行比较 以下是查询的固定版本: var value = (from l in localization.Elements("Localization").Elements("Module") where (string) l.Attribute("id") == module &&
假设
module
是一个字符串,问题是您正在将XAttribute
与字符串进行比较
以下是查询的固定版本:
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
属性不存在,它将不匹配,而不是爆炸
如果需要单个值,应根据需要的语义对结果调用single
、First
、SingleOrDefault
或FirstOrDefault
。thx!这对我来说很好,我在“localization.Elements(“本地化”).Elements(“模块”)方面也遇到了问题,我将其更改为:localization.Elements(),现在使用它:)
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);
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);