4

QDomElementがあり、デバッグしたいのですが、デバッグコンソールでプレーンテキストとして表示されます。qDebug()で出力するには、QString形式である必要がありますが、QDomElementまたはQDomNodeからの変換メソッドが表示されません。

何か案が?ありがとう!

4

4 に答える 4

10

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;
}
于 2011-08-12T23:52:45.033 に答える
0

QTextStreamを使用します。

QTextStream lTS(stdout);
lTS << lMyDomElement;
于 2011-08-12T10:41:24.527 に答える
0

#include <QDebug>QDebugがTextStream自体として機能する場合。つまりqDebug()<< lMyDomElement;、十分でしょう)

于 2011-08-12T10:49:17.607 に答える
0

さて、私も同様の状況に遭遇します。その場合、私の最善の策は、QDomDocumentこれが含まれているものを利用することQDomElementです。したがって、直接アクセスする方法はありませんがQDomElement、QDomDocumentを使用してアクセスすることはできます。

このためにQDomDocumentは、最新のもので更新されていることを確認してから、ドキュメント全体をQStringとして返すをQDomElement使用する必要があります。QDomDocument::toString()

これがQtリファレンスです。

お役に立てれば。

于 2011-08-12T11:52:17.593 に答える