2010-07-23 10 views
7

Dla operacji potomków XDocument w jaki sposób można zwrócić tylko bezpośrednie węzły potomne?Dla operacji potomków XDocument, w jaki sposób można zwrócić tylko bezpośrednie węzły potomne?

mam operację wzdłuż linii:

XDocument xmlDc = XDocument.Load(dependencyFilePath);  
IEnumerable<IGrouping<string, XElement>> scriptNodes = 
from s in xmlDc.Descendants("script") select s; 

problem jest mój XML doc ma następującą strukturę

<topNode> 
<script> 
    <someNode>...</someNode> 
    <script>....</script> 
</script> 
</topNode> 

Zasadniczo tagów skrypt może mieć tagów Scrip dziecko, ale kiedy do Descendents, chcę tylko pobrać węzeł podrzędny dziecka, a nie wnuki skryptu.

Czy to możliwe z XDocumentem? Czy mogę użyć predykatu, aby w jakiś sposób sprawdzić, czy potencjalny wybiórca ma dla nadrzędnego węzeł, od którego sprawdzam, aby to osiągnąć?

Odpowiedz

16

myślę Elements("script") by rade, zamiast Descendants("script")

+0

I nawet nie zauważyć, że przed pytaniem, a ja wyglądał zbyt :-) Dzięki! – Matt

Powiązane problemy