現在、QDomDocumentを使用してXMLファイルの内容を解析する古いコードを変更しています。以下のコード例:QDomDocumentを使用した場合の詳細なXMLエラーの報告
QFile file(file_.filePath());
if (file.open(QIODevice::ReadOnly))
{
QTextStream in(&file);
file.close();
QString errorMsg;
int errorLine;
int errorColumn;
if (!doc.setContent(in.readAll(), &errorMsg, &errorLine, &errorColumn))
{
qWarning("Invalid XML in file %s. Error = %s, Line = %d, Column = %d", qPrintable(file_name), qPrintable(errorMsg), errorLine, errorColumn);
}
}
残念ながら、エラー報告は極端に制限されています。閉じるタグの半分をファイルから削除すると、次のエラーが報告されます。
ファイルconfig.xmlのXMLが無効です。エラー=予期しないファイルの終わり、行= 1、列= 1
これはかなり役に立たない。
QtのXMLパーサーから説明的なエラーを取り除く方法の提案はありますか?正確な行番号は良いスタートになります。
P.S. Qtバージョン4.7.4を使用しています。
'QDomDocument'が古いの一部であり、サポートされていない[QtXML](http://doc.qt.io/qt- 5/qtxml-module.html)モジュール。あなたの最善の策は、[QXMLStreamReader](http://doc.qt。io/qt-5/qxmlstreamreader.html)を使用してください。 – MrEricSir