QDomElementがあり、デバッグしたいのですが、デバッグコンソールでプレーンテキストとして表示されます。qDebug()で出力するには、QString形式である必要がありますが、QDomElementまたはQDomNodeからの変換メソッドが表示されません。
何か案が?ありがとう!
DOM要素をQDebugにストリーミングするための組み込みオペレーターはありません。次のように簡単に書くことができます。
QDebug operator<<(QDebug dbg, const QDomNode& node)
{
QString s;
QTextStream str(&s, QIODevice::WriteOnly);
node.save(str, 2);
dbg << qPrintable(s);
return dbg;
}
QTextStreamを使用します。
QTextStream lTS(stdout);
lTS << lMyDomElement;
#include <QDebug>
QDebugがTextStream自体として機能する場合。つまりqDebug()<< lMyDomElement;
、十分でしょう)
さて、私も同様の状況に遭遇します。その場合、私の最善の策は、QDomDocument
これが含まれているものを利用することQDomElement
です。したがって、直接アクセスする方法はありませんがQDomElement
、QDomDocumentを使用してアクセスすることはできます。
このためにQDomDocument
は、最新のもので更新されていることを確認してから、ドキュメント全体をQStringとして返すをQDomElement
使用する必要があります。QDomDocument::toString()
これがQtリファレンスです。
お役に立てれば。