QDomElement :: setTagName似乎不起作用

时间:2010-03-09 15:38:07

标签: qt

代码

#include <QtCore>
#include <QtXml/QDomElement>

int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);

    QDomElement* element = new QDomElement();
    element->setTagName("feature");
    qDebug() << element->tagName();

    return app.exec();
}

只打印""。但是,据我所知the documentation,它应该打印"feature"。事实上

qDebug() << element->isNull();

打印为true,因此未正确设置某些内容。有谁知道我做错了什么?

我在openSUSE Linux 11.2上使用Qt 4.6.3。

1 个答案:

答案 0 :(得分:3)

您无法使用默认构造函数。您需要使用QDomDocument::createElement(const QString &tagName)。元素必须是文档的一部分。你不能“独立”使用它。

以下是文档针对QDomElement default constructor所说的内容:

  

QDomElement :: QDomElement()

     

构造一个空元素。使用QDomDocument :: createElement()函数构造包含内容的元素。

“空”表示null