2017-06-22 1 views
1

Comment sélectionner plusieurs balises XML comme XElement, en filtrant sur la base du même attribut. J'ai le code ci-dessous je veux sélectionner les balises avec sont ayant une action = trueComment sélectionner plusieurs balises XML en tant que XElement Par valeur attatribute?

<root> 
    <first action="true"> 
    <path>E:\Myfolder</path> 
    </first> 
    <second> 
    <path>C:\Users\</path> 
    </second> 
    <third action="true"> 
    <name>Mytasks</name> 
    </third> 
</root> 

et cri Sortie être comme ça

<first action="true"> 
    <path>E:\Myfolder</path> 
    </first> 
    <third action="true"> 
    <name>Mytasks</name> 
    </third> 

personne s'il vous plaît aidez-moi. Je FirstOrDefault () Mais je reçois seulement un record parmi tous

+0

Avez-vous essayé XPath? –

+0

Montrez ce que vous avez essayé. Aussi, si vous voulez tous les enregistrements, pourquoi utiliser 'FirstOrDefault'? –

+0

j'ai essayé toutes les fonctions linq. Mais FirstOrDefault() seulement je reçois des valeurs. donc je veux venir demander à la communauté – Prashee

Répondre

0

Essayez cette

xd = XDocument.Load("XML FILE PATH"); xe = xd.Root; IEnumerable<XElement> oColl = from x in xe.Descendants() where ((string)x.Attribute("action")).equals("true") select x;