我有一个 QDomElement,我想调试它,即在调试控制台中将其视为纯文本。为了使用qDebug()输出它,它需要采用QString格式,但是我没有看到QDomElement和QDomNode的任何转换方法。
有什么想法吗?谢谢!
答案 0 :(得分:9)
没有用于将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;
}
答案 1 :(得分:0)
使用QTextStream:
QTextStream lTS(stdout);
lTS << lMyDomElement;
答案 2 :(得分:0)
如果您#include <QDebug>
QDebug将充当TextStream本身。
即qDebug()<< lMyDomElement;
就够了)
答案 3 :(得分:0)
我也遇到过类似的情况,在这种情况下,我最好的办法就是利用QDomDocument
所属的QDomElement
。所以我会说你无法直接访问QDomElement
,但你可以使用QDomDocument实现这一点。
为此,您需要确保QDomDocument
使用最近的QDomElement
进行更新,然后使用QDomDocument::toString()
,这会将整个文档作为QString返回。
这是Qt reference。
希望这有帮助。