Я анализирую XML-файл в C ++, используя API-интерфейс SAX2 Xerces-C.
Поэтому я реализую интерфейс DefaultHandler и его функции
void startElement(
const XMLCh* const uri,
const XMLCh* const localname,
const XMLCh* const qname,
const xercesc::Attributes& attrs
);
и
void endElement(
const XMLCh* const uri,
const XMLCh* const localname,
const XMLCh* const qname
);
Когда в xml-файле есть синтаксическая ошибка, выброшенное SAXParseException дает мне номер строки, где произошла ошибка, и я могу напечатать строку ошибки для пользователя.
В моем приложении возможно, что синтаксис правильно сформирован, но содержащиеся данные не имеют особого смысла. В этом случае я также хотел бы напечатать строку ошибки для пользователя. Но я не нашел способа получить текущий номер строки, потому что xml синтаксически правильный и не генерируется SAXParseException. Есть ли способ получить номер строки тега?