在QT中查看或编辑XML文件

时间:2019-02-21 15:54:47

标签: qt xml-parsing qtwidgets qtxml

我有一个Qt小部件表单,可以将人的一些详细信息另存为 XML 文件。输入的数据将保存在默认目录中,文件名为“ PatientID”。

Screenshot of buttons

Screenshot of form

以下是将输入的详细信息另存为XMl文件的代码段:

void subjectEntry::on_pushButton_clicked()

{

QString filename = QFileDialog::getSaveFileName(this, "Save Xml", ui->lineEdit_pid->text(), "Xml files (*.xml)");
QFile file(filename);
if(!file.open(QFile::WriteOnly | QFile::Text))
{
    qDebug () << "Error saving XML file...."; // replace this with Q Messange box later!!!!!!!!!!!
    file.close();
    return;
}

QDomDocument xml("tetragrip");

QDomElement root = xml.createElement("subject details");
root.setAttribute("catagory","run session");
xml.appendChild(root);

QDomElement tagPatientID = xml.createElement("Patient ID");
root.appendChild(tagPatientID);
QDomText textPatientID = xml.createTextNode(ui->lineEdit_pid->text());
tagPatientID.appendChild(textPatientID);

QDomElement tagDOB = xml.createElement("DOB");
root.appendChild(tagDOB);
QDomText textDOB = xml.createTextNode(ui->dateEdit_dob->text());
tagDOB.appendChild(textDOB);

QDomElement tagTime = xml.createElement("App Time");
root.appendChild(tagTime);
QDomText textTime = xml.createTextNode(ui->timeEdit->text());
tagTime.appendChild(textTime);

QDomElement tagDate = xml.createElement("Date");
root.appendChild(tagDate);
QDomText textDate = xml.createTextNode(ui->dateEdit->text());
tagDate.appendChild(textDate);

QDomElement tagNote = xml.createElement("Clinician Note");
root.appendChild(tagNote);
QDomText textNote = xml.createTextNode(ui->textEdit_note->toPlainText());
tagNote.appendChild(textNote);


QTextStream output(&file);
output << xml.toString();

file.close();

}

调用“查看记录”视图按钮时,我想编辑保存的文件。这里有人可以帮我吗?

非常感谢!

0 个答案:

没有答案