Ну, вы не должны писать свой собственный XmlParser, но в Compact Framework у нас нет выбора, поскольку XmlDocument такой же медленный, как Далай-лама на кетамине, поэтому мы используем XmlReader при разборе файла Xml.
Мы генерируем исключение всякий раз, когда находим что-то испорченное или непоследовательное, и передаем исключение XmlReader. Затем мы можем извлечь положение строки, приведя XmlReader к объекту IXmlLineInfo, который содержит свойства для линии и положения.
Не знаю, поможет ли это. Как правило, я бы не стал писать свой собственный XmlParser на рабочем столе, поэтому неохотно предлагаю это как решение.