/*Dom转为QString*/ QString Datastr; QTextStream stream(&Datastr); QDomNode node = doc.documentElement(); node.save(stream, 4); Datastr = QString("<?xml version='1.0' encoding='UTF-8'?>\n") + Datastr; /*写文件*/ FileSegmentWrite(filename, Datastr);
bool MainWindow::FileSegmentWrite(QString FilePath, QString DataStr)
{
int TempNum = 0;
QString TempStr;
QFile WriteFile(FilePath);
bool hr = WriteFile.open(QFile::WriteOnly | QIODevice::Text);
if (!hr)
{
return false;
} else
{
while (65536*TempNum < DataStr.length())
{
TempStr = DataStr.mid(65536*TempNum, 65536);
WriteFile.write(TempStr.toLocal8Bit());
WriteFile.flush();
fsync(WriteFile.handle());
TempNum++;
}
fsync(WriteFile.handle());
WriteFile.close();
}
return true;
}