我对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,并且找不到示例或答案,我可能会提供一些 –