obtener el número de línea para XElement aquí

XDocument xdoc = XDocument.Load(file); IEnumerable categories = xdoc.Descendants("Category"); foreach (XElement category in categories) { //get line number for element here... } 

XElement (en realidad XObject ) implementa la interfaz IXmlLineInfo , por lo que puede usarlo:

 IXmlLineInfo info = category; int lineNumber = info.LineNumber; 

Tenga en cuenta que la información de línea no siempre está disponible, debe llamar al método HasLineInfo para verificar si la información está disponible. Puede especificar LoadOptions.SetLineInfo cuando carga el documento con XDocument.Load

 XDocument xdoc = XDocument.Load(file, LoadOptions.SetLineInfo); IEnumerable categories = xdoc.Descendants("Category"); foreach (XElement category in categories) { //get line number for element here... string lineNumber = ((IXmlLineInfo)category).HasLineInfo() ? ((IXmlLineInfo)category).LineNumber : -1; }