XDocument xdoc = XDocument.Load(file);
IEnumerable<XElement> categories = xdoc.Descendants("Category");
foreach (XElement category in categories)
{
//get line number for element here...
}
Respuesta
XDocument xdoc = XDocument.Load(file, LoadOptions.SetLineInfo);
IEnumerable<XElement> categories = xdoc.Descendants("Category");
foreach (XElement category in categories)
{
//get line number for element here...
string lineNumber = ((IXmlLineInfo)category).HasLineInfo() ? ((IXmlLineInfo)category).LineNumber : -1;
}
XElement
(en realidad XObject
) implementa la interfaz IXmlLineInfo
, para que pueda usarlo:
IXmlLineInfo info = category;
int lineNumber = info.LineNumber;
Tenga en cuenta que la línea de información no siempre está disponible, es necesario llame al método HasLineInfo
para verificar si la información está disponible. Puede especificar LoadOptions.SetLineInfo
cuando se carga el documento con XDocument.Load
esto debería marcarse como la respuesta, supongo ... –
+1 para una explicación real! – cod3monk3y
acepta esta respuesta ... funciona como magia ... gracias @Thomas – Scorpio
- 1. XMLSerializer para XElement
- 2. XElement Añadir función añade xmlns = "" a la XElement
- 3. Deserialize XElement en la Clase (s)
- 4. LinqToXML XElement a XmlNode
- 5. XElement agrega un xmlns
- 6. análisis XML utilizando XElement
- 7. Convertir XElement a cadena
- 8. Lea XElement de XmlReader
- 9. Ordenación de un XElement
- 10. Índice de Child XElement
- 11. Children of XElement
- 12. ¿Cómo agregar más atributos en XElement?
- 13. espacios de nombres XElement (¿Cómo?)
- 14. XElement añadir el prefijo única
- 15. Obtener elementos secundarios de XElement
- 16. ¿Alguien aquí tiene experiencia desarrollando para Minix?
- 17. aquí en JQUERY para jqGrid carga
- 18. Seleccionar un XElement de un XDocument
- 19. XElement agrega automáticamente xmlns = "" a sí mismo
- 20. Aquí hay quince caracteres
- 21. ¿Alguien aquí se bifurca?
- 22. aquí vs muesca espacio
- 23. ¿Debo implementar IDisposable aquí?
- 24. jQuery UI aquí tamaño
- 25. Validación de esquema XML de XElement
- 26. ¿Qué significa useMethod aquí?
- 27. OpenXml: Convierta un XElement en un OpenXmlElement
- 28. ¿Cómo poner atributos a través de XElement
- 29. Cómo ingresar texto al usar XElement
- 30. ¿Cómo usar XPath con XElement o LINQ?
IXmlLineInfo.LineNumber devuelve '' no int' string' –
En lo personal, desde C# 6, lo escribiría as'int lineno = (categoría que IXmlLineInfo) ?. LineNumber? ? -1; ' – maxp