我基本上想在现有项目中使用Qt的XML解析器。我之前只使用过一次Qt,这与Qt Designer有关,而且我在Google上找不到如何使用XML库的任何事情都没有多少运气。
我下载了一个包含一个大型列表的网页,我想解析它并将每个列表项添加到c ++列表中。我在Ubuntu论坛上找到了这个示例代码......
http://www.uluga.ubuntuforums.org/showpost.php?p=9112973&postcount=6
我想使用它,除了我需要知道我需要添加到项目中以确切访问它。
另一个小问题是QDomDocument似乎是用于文件(有意义)但我在字符串中有XML。 XML库的哪个部分适用于字符串的内容?
答案 0 :(得分:4)
以下代码可让您快速了解如何处理Qt XML功能以满足您的需求。
#include <list>
#include <QDomDocument>
#include <QFile>
int main()
{
QString filename("myfile.xml");
std::list<QString> result;
int errorLine, errorColumn;
QString errorMsg;
QFile modelFile(filename);
QDomDocument document;
if (!document.setContent(&modelFile, &errorMsg, &errorLine, &errorColumn))
{
QString error("Syntax error line %1, column %2:\n%3");
error = error
.arg(errorLine)
.arg(errorColumn)
.arg(errorMsg);
return false;
}
QDomElement rootElement = document.firstChild().toElement();
for(QDomNode node = rootElement.firstChild();
!node .isNull();
node = node .nextSibling())
{
QDomElement element = node.toElement();
result.push_back(element.tagName());
}
return 0;
}
<强>更新强> 我相信你只需要核心Qt库以及XML库。
答案 1 :(得分:1)