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

weixin_38066087 weixin_38066087 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
简单来说,读一个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();
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部