一个简单方法,读取xml文件,然后写入另外一个新的xml文件

weixin_38066087 2019-09-19 07:11:00
简单来说,读一个xml文件,然后对某些节点进行修改(本例子没有修改,增加修改也很简单),然后写入目标xml文件的例子。  QFile srcFile(srcFileName);    if (!srcFile.open(QFile::ReadOnly | QFile::Text)) {        QMessageBox::warning(this, tr("Warning/ Convert"),                          tr("Cannot open soruce file %1:\n%2.")                          .arg(srcFileName)                          .arg(srcFile.errorString()));        return;    }    QFile tarFile(tarFileName);    if (!tarFile.open(QFile::WriteOnly | QFile::Text | QIODevice::Truncate)) {        QMessageBox::warning(this, tr("Warning/ Convert"),                          tr("Cannot open target file %1:\n%2.")                          .arg(tarFileName)                          .arg(tarFile.errorString()));        srcFile.close();        return;    }    QXmlStreamReader reader(&srcFile);    QXmlStreamWriter writer(&tarFile);    writer.setAutoFormatting(true);    writer.writeStartDocument();   while (!reader.atEnd())    {        reader.readNext();        if(reader.isStartElement())        {            QXmlStreamAttributes attr = reader.attributes();            writer.writeStartElement(reader.name().toString());            if(attr.size()>0)            {                writer.writeAttributes(attr);            }        }        if(reader.isCharacters())        {            writer.writeCharacters(reader.text().toString());        }        if(reader.isEndElement())        {            writer.writeEndElement();        }    }    writer.writeEndDocument();    srcFile.close();    tarFile.Close();
...全文
19 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧