C#Linq to XML获取name的值包含特定字符串的元素

C#Linq to XML获取name的值包含特定字符串的元素,c#,linq,C#,Linq,我有一个XML文件,其中包含以下类型的元素: <add name="$(ReferAEP)" value="$(addressA)" /> <add name="$(ReferBEP)" value="$(addressB)" /> 什么是linq到xml查询,只获取“name”属性包含*EP这样的值的元素?因此,如果您在问题中为xml标记指定了一个外部元素,则上述两个元素将在结果中结束,如: <adds> <add name="$(Ref

我有一个XML文件,其中包含以下类型的元素:

<add name="$(ReferAEP)" value="$(addressA)" />
<add name="$(ReferBEP)" value="$(addressB)" />


什么是linq到xml查询,只获取“name”属性包含*EP这样的值的元素?因此,如果您在问题中为xml标记指定了一个外部元素,则上述两个元素将在结果中结束,如:

<adds>
    <add name="$(ReferAEP)" value="$(addressA)" />
    <add name="$(ReferBEP)" value="$(addressB)" />
</adds>

如果问题中指定了xml标记的外部元素,如:

<adds>
    <add name="$(ReferAEP)" value="$(addressA)" />
    <add name="$(ReferBEP)" value="$(addressB)" />
</adds>

你在找像这样的东西吗

document.Descendants("add").Where(element => element.Attribute("name").Value.EndsWith("EP)"));

你在找像这样的东西吗

document.Descendants("add").Where(element => element.Attribute("name").Value.EndsWith("EP)"));

标记名是否总是“add”?@jdweng:yes,但是在name=“xyz”中,xyz不包含其他元素EP@BalagurunathanMarimuthu:这对仅限于包含某些内容的名称值有何帮助?我通常使用字典:dictionary dict=doc.substands(“add”).GroupBy(x=>(string)x.Attribure(“名称”),y=>(string)y.Attribute(“value”)).ToDictionary(x=>x.Key,y=>y.FirstOrDefault());标记名是否总是“add”?@jdweng:yes,但是在name=“xyz”中,xyz不包含其他元素EP@BalagurunathanMarimuthu:这对仅限于包含某些内容的名称值有何帮助?我通常使用字典:dictionary dict=doc.substands(“add”).GroupBy(x=>(string)x.Attribure(“名称”),y=>(string)y.Attribute(“value”)).ToDictionary(x=>x.Key,y=>y.FirstOrDefault());比我快。虽然我会使用
EndsWith()
而不是
Contains()
,但请告诉我。虽然我会使用
EndsWith()
而不是
Contains()
。只是想知道这是否会起作用,因为
name
EP结尾)
@Sid谢谢,修复了。做得好;)事实上,我更喜欢你的答案,而不是哈比的答案,即使两者都有效+1只是想知道这是否有效,因为
name
EP结尾)
@Sid谢谢,修复了。做得好;)事实上,我更喜欢你的答案,而不是哈比的答案,即使两者都有效+1.