Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

get line number for XElement here

XElement (actually XObject) implements the IXmlLineInfo interface, so you can use it:

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

Note that line information is not always available, you need to call the HasLineInfo method to check if the information is available. You can specify LoadOptions.SetLineInfo when you load the document with XDocument.Load


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;
}