我有一个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;
}
好吧,我也遇到过类似的情况,在这种情况下,我最好的选择是利用QDomDocument
这QDomElement
是其中的一部分。所以我想说你无法直接访问,QDomElement
但你可以使用 QDomDocument 来实现。
为此,您需要确保QDomDocument
使用最近更新QDomElement
,然后使用QDomDocument::toString()
它将整个文档作为 QString 返回给您。
这是Qt 参考资料。
希望这可以帮助。
使用 QTextStream:
QTextStream lTS(stdout);
lTS << lMyDomElement;
如果您#include <QDebug>
QDebug 将充当 TextStream 本身。即qDebug()<< lMyDomElement;
足够了)