本文整理汇总了C++中XMLParser::parseFile方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLParser::parseFile方法的具体用法?C++ XMLParser::parseFile怎么用?C++ XMLParser::parseFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLParser
的用法示例。
在下文中一共展示了XMLParser::parseFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createFromFile
bool Job::createFromFile(QString filename)
{
XMLParser bitsParser;
Task *tempTask;
QFile *xmlFile = new QFile(filename);
bitsParser.parseFile(xmlFile);
QMapIterator<QString, QMap<QString,QVariant> > it(bitsParser.properties);
while (it.hasNext())
{
it.next();
if (it.key() == "Job")
setAttributeValue("Filename",filename);
else if (it.key() == "Task")
{
tempTask = new Task;
tempTask->setAttributeValue("Filename",filename);
}
else
continue;
QMapIterator<QString,QVariant> j(it.value());
while (j.hasNext())
{
j.next();
if (it.key() == "Job")
{
addAttribute(j.key());
setAttributeValue(j.key(),j.value());
}
else if (it.key() == "Task" && tempTask)
{
if (j.key() != "Name" && j.key() != "StartDate" && j.key() != "EndDate" && j.key() != "TimeSpent" && j.key() != "TaskID" && j.key() != "HotKey" && j.key() != "Completed")
tempTask->addAttribute(j.key());
tempTask->setAttributeValue(j.key(),j.value());
}
}
if (it.key() == "Task" && tempTask)
{
if (tempTask->isValid())
addTask(tempTask);
else
emit statusChanged("Invalid Task not added!");
}
}
if (isValid())
{
makeTaskIDs();
writeConfigFile();
}
else
emit statusChanged(QString("Invalid Job in %1 not added!").arg(filename));
xmlFile->close();
delete xmlFile;
return true;
}