void Widget::on_pushButton_5_clicked()
{
ui->listWidget->clear(); //先清空显示
QFile file("my.xml");
if (!file.open(QIODevice::ReadOnly)) return ;
QDomDocument doc;
if (!doc.setContent(&file))
{
file.close();
return ;
}
file.close()
//返回根节点及其子节点的元素标记名
QDomElement docElem = doc.documentElement(); //返回根元素
QDomNode n = docElem.firstChild(); //返回根节点的第一个子节点
while(!n.isNull()) //如果节点不为空
{
if (n.isElement()) //如果节点是元素
{
QDomElement e = n.toElement(); //将其转换为元素
ui->listWidget->addItem(e.tagName()+e.attribute(tr("编号")));
QDomNodeList list = e.childNodes();
for(int i=0; i<list.count(); i++)
{
QDomNode node = list.at(i);
if(node.isElement())
ui->listWidget->addItem(" "+node.toElement().tagName()
+" : "+node.toElement().text());
}
}
n = n.nextSibling(); //下一个兄弟节点
}
}
运行结果出现
In menber function'void Widget::on_pushButton_5_clicked()':
expected':'before'QDomElement'
'docElem' was not declared in this scope