我對xml不太好,但我的基本xml文件看起來像這樣。QT:讀取一個xml文件並使用DOM解析器解析它
<MAIN_HEADER>
<HEADER>
<TITLE>my_title</TITLE>
<AUTOR>DNL</AUTOR>
<NAME>John</NAME>
<AGE>abc</AGE>
<SEX>male</SEX>
<PLACE>abc</PLACE>
<INI_FILE>abc</INI_FILE>
</HEADER>
我想要做的是,我需要找到2-3的標籤,例如說NAME & SEX 和屬性(約翰,男)存儲在另一個變量。
到現在爲止,我已經能夠使它讀取xml文件。
void MainWindow::XMLParser()
{
QString path=MainWindow::getWorkingDirectory()+"\\0_Config\\";
QString string;
string = path + ui->ConfigFiles_combo->currentText(); \\THIS IS WHERE´IT DETERMINES WHICH XML FILE IT IS
qDebug()<<string;
QDomDocument document;
//load the file
QFile file(string);
if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
qDebug()<<"Failed to open the file";
}
else
{
if(!document.setContent(false))
{
qDebug()<<"Failed to load document";
}
file.close();
}
QDomElement root = document.firstChildElement();
qDebug()<<"finished";
}
我怎麼讓它搜索精確的標籤,並將其存儲另一個變量裏面?
?如果你使用的是Qt 5,那麼應該用[XmlStreamRreader]替換DOM類(http://doc.qt.io/qt-5/qxmlstreamreader.html) –
是的,我正在使用5.5 – user5603723
然後我會建議看看作爲文檔一部分的XmlStreamReader的示例代碼,它應該足以讓你開始。否則,如果你真的需要DOM,並且找不到示例或答案,我可能會提供一些 –