在QT中查看或编辑XML文件

在QT中查看或编辑XML文件,qt,xml-parsing,qtwidgets,qtxml,Qt,Xml Parsing,Qtwidgets,Qtxml,我有一个Qt小部件表单,可以将此人的一些详细信息保存为XML文件。输入的数据将保存在默认目录中,文件名为“patientID” 以下是将输入的详细信息保存为XMl文件的代码段: void subjectEntry::on_pushButton_clicked() { QString filename = QFileDialog::getSaveFileName(this, "Save Xml", ui->lineEdit_pid->text(), "Xml files (*.

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

以下是将输入的详细信息保存为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();

}
void subjectEntry::在按钮上点击()
{
QString filename=QFileDialog::getSaveFileName(这是“保存Xml”,ui->lineEdit_pid->text(),“Xml文件(*.Xml)”;
QFile文件(文件名);
如果(!file.open(QFile::WriteOnly | QFile::Text))
{
qDebug()lineEdit_pid->text();
tagPatientID.appendChild(textPatientID);
QdomeElement tagDOB=xml.createElement(“DOB”);
根追加子项(tagDOB);
qdomtexttextdob=xml.createTextNode(ui->dateEdit\u dob->text());
tagDOB.appendChild(textDOB);
QdomeElement标记时间=xml.createElement(“应用时间”);
root.appendChild(标记时间);
QDomText textTime=xml.createTextNode(ui->timeEdit->text());
tagTime.appendChild(textTime);
QdomeElement tagDate=xml.createElement(“日期”);
root.appendChild(tagDate);
QDomText textDate=xml.createTextNode(ui->dateEdit->text());
tagDate.appendChild(textDate);
QdomeElement标记注释=xml.createElement(“临床医生注释”);
root.appendChild(标记注释);
QDomText textNote=xml.createTextNode(ui->textEdit\u note->toPlainText());
tagNote.appendChild(文本注释);
QTextStream输出(&文件);

输出QXMLReader和QXMLWriter是在Qt中创建、编辑或读取xml文件的良好选项。