• 5821阅读
  • 0回复

xml修改其中以个element的问题 [复制链接]

上一主题 下一主题
离线lugaideath
 

只看楼主 倒序阅读 楼主  发表于: 2009-05-04
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
为什么我下面的语句不能修改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>
快速回复
限100 字节
 
上一个 下一个