Спецификация SAX для чтения XML (которую реализуют почти все инструменты XML) предоставляет ContentHandler с локатором, который позволяет получить номер строки и символа (столбца).
int getColumnNumber()
Return the column number where the current document event ends.
int getLineNumber()
Return the line number where the current document event ends.
(Я пропустил требование для C #. Пример выше для Java, но я попытаюсь найти соответствующий интерфейс C #).
Событием может быть строка символов.
SAX для .NET описывается в:
http://saxdotnet.sourceforge.net/