为什么我下面的语句不能修改XML呢?
我觉得是
QDomElement oldTitleElement = element.firstChildElement("stateType");
这句的问题,但我不知道该怎么改,试了好几个方法都不行!望高手指点!
................
QDomElement element = domElementForItem.value("3");
if(!element.isNull())
{
QDomElement oldTitleElement = element.firstChildElement("stateType");
QDomElement newTitleElement = qdd.createElement("stateType");
QDomText newTitleText = qdd.createTextNode(tr("我狂顶顶顶"));
newTitleElement.appendChild(newTitleText);
qdd.documentElement().replaceChild(newTitleElement, element);
QFile myFile(xmlURL);
if(!myFile.exists())
{
QMessageBox::critical(this,tr("警告"),tr("找不到XML文件!"));
return;
}
if(!myFile.open(QFile::WriteOnly | QFile::Text))
{
QMessageBox::critical(this,tr("警告"),tr("读取XML文件失败!"));
return;
}
QTextStream out(&myFile);
qdd.save(out,4);
}
}
...................
element无修改,是什么原因呢?下面是XML的内容:
<?xml version="1.0" encoding="System"?>
<state>
<stateType id = "1" type = "a">aaaa</stateType>
<stateType id = "2" type = "b">bbbbb</stateType>
<stateType id = "3" type = "c">cccccc</stateType>
<stateType id = "4" type = "d">dddddd</stateType>
<stateType id = "5" type = "e">eeee</stateType>
<stateType id = "6" type = "f">fffff</stateType>
<stateType id = "7" type = "h">hhhhhh</stateType>
<stateType id = "8" type = "i">iiiiiii</stateType>
</state>