2011-08-18 16 views
8

¿Hay alguna forma de contar nodos secundarios en un XDocument?Contar nodos secundarios en XDocument

Busqué un método o propiedad de recuento y no pude encontrar uno.

Gracias Leo

+0

he encontrado una manera usando XDocument. Root.Nodes(). Count(), pero no estoy seguro de si esta es la mejor manera de hacerlo. Gracias – MammothOne

+0

Por favor, aclare. Un XDocument es el documento que contiene los datos XML. ¿Desea saber el número total de filas en el documento? ¿O desea conocer los nodos secundarios del elemento raíz del documento? –

+0

Daniel, gracias por su respuesta. Esto es lo que estaba buscando. doc.Descendants(). Count(); Gracias Thomas. – MammothOne

Respuesta

14
var doc = XDocument.Load(fileName); 
int descendantsCount = doc.Descendants().Count(); // counts ALL descendants elements 
int childrenCount = doc.Root.Elements().Count(); // counts direct children of the root element 
2

Alternativamente ... si se sabe que el nombre de los elementos nunca van a cambiar y que siempre existen,

XDocument xD = XDocument.Load(XmlFullFileName); 
XElement xE_ParameterSets = xD.Root.Element("Report").Element("ParameterSets"); 
int index = ((IEnumerable<XElement>)xE_ParameterSets.Elements()).Count(); 
Cuestiones relacionadas