2010-06-22 8 views
13

tengo tales XMLComo llegar primer nivel de los niños por LINQ

<root> 
    <list> 
     <list> 
      <topic></topic> 
      <topic></topic> 
     </list> 
     <topic></topic> 
     <topic></topic> 
    </list> 
    <topic></topic> 
    <topic></topic> 
    <topic></topic> 
</root> 

que necesito para obtener el primer nivel de los niños:

<list></list> 
<topic></topic> 
<topic></topic> 
<topic></topic> 

trato de hacer como esto

var list = x.Descendants().Where(e => e.Name == "list" || e.Name == "topic"); 

Pero devuelve todos los temas y listas.

Por favor ayuda! :)

Respuesta

33

Sólo document.Root.Elements() debería funcionar.

Básicamente Descendants() recursivamente, mientras que sólo se pone Elements()directos niños.

+0

¡Gracias, Jon! :) – podeig

+0

@Jon Skeet - ¿Quiso decir 'Document.Root.Elements()' en lugar de 'document.RootElement.Elements()'? –

+0

@Anthony: Sí, sospecho que sí - editado :) –

Cuestiones relacionadas