我使用 Xerces-C 的 SAX2 api 在 C++ 中解析 XML 文件。所以我确实实现了 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。有没有办法获取标签的行号?