2017-06-27 4 views
1

が含ま要素取得: "要素のみを取得するためにXMLクエリにLINQで何C#のLINQのXMLへの名前の値が、私は要素の次のタイプを含むXMLファイルを持っている特定の文字列

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

をname "属性には* EPのような値が含まれていますか?上記の2つの要素が結果に終わるでしょうか?

+0

タグ名は常に「追加」ですか? – jdweng

+0

@jdweng:はい、しかし名前= "xyz"の他の要素があります.xyzにはEP – Arjang

+0

が含まれていません@BalagurunathanMarimuthu:それは何かを含む名前の値だけに制限するのに役立ちますか? – Arjang

答えて

3

あなたは次のようにあなたの質問に指定されたXMLタグの外側の要素がある場合:

var query = from d in xdoc.Descendants("adds").Descendants() 
      where d.Attribute("name")?.Value.Contains("EP") 
      select d; 
+2

私にそれを打つ。私は 'Contains()'ではなく 'EndsWith()'を使います。 – Guy

2

はあなたが

のような何かを探しています:

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

が続いて以下のLINQクエリを使用します

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

'name'が' EP 'で終わるのでこれがうまくいくのだろうかと思っています。 – Sid

+0

@Sidありがとう、修正済み。 – Guy

+0

よくできました;)実際に私は両方の作品があっても、あなたはハビエルの答えよりも好きです。 +1 – Sid

関連する問題