void GwfStreamWriter::finishWriting() { Q_ASSERT(isWritingStarted); writeEndElement(); /*staticSector*/ writeEndElement(); /*GWF*/ writeEndDocument(); }
void XmlWrite_Input::Write() { //QHash的迭代器 QHashIterator<QString, SimData_Input*>HashIterator_SimData_Input(Hash_SimData_Input); //用于记录输入变量当前个数,并在<addition>中输出 int num = 0; //自动格式化,让输出的xml文件自动考虑空格等排版因素 setAutoFormatting(true); //写文档头,作用类似于创建一个xml文档,并在文档开头部分写入版本信息和编码信息 writeStartDocument(); //遍历所有的仿真输入数据 while(HashIterator_SimData_Input.hasNext()) { //迭代下一个数据 HashIterator_SimData_Input.next(); //指向每个仿真输入数据 pSimData_Input = HashIterator_SimData_Input.value(); //写入开始记号 writeStartElement("Data"); //写入文本信息记号 writeTextElement("name", pSimData_Input->getName()); writeTextElement("des", pSimData_Input->getDes()); writeTextElement("type", pSimData_Input->getType()); writeTextElement("init", pSimData_Input->getInit()); writeTextElement("min", QString::number(pSimData_Input->getMin())); writeTextElement("max", QString::number(pSimData_Input->getMax())); writeTextElement("enable", QString::number(pSimData_Input->getEnable())); writeStartElement("unit"); writeTextElement("type", pSimData_Input->getUnit_type()); writeTextElement("std", pSimData_Input->getUnit_std()); writeTextElement("super", pSimData_Input->getUnit_super()); writeTextElement("StdtoSuper", QString::number(pSimData_Input->getUnit_StdtoSpuer())); //</unit> writeEndElement(); writeStartElement("addition"); writeTextElement("currentNum", QString::number(num++)); writeTextElement("memAddress","暂不支持输出内存地址值"); //</addition> writeEndElement(); //</Data> writeEndElement(); } //对应于writeStartDocument(),当调用这个函数时,即表示文档信息写入完毕 writeEndDocument(); qDebug()<<"INFO:输出仿真输入数据xml成功!"; }
//! [1] bool XbelWriter::writeFile(QIODevice *device) { setDevice(device); writeStartDocument(); writeDTD("<!DOCTYPE xbel>"); writeStartElement("xbel"); writeAttribute("version", "1.0"); for (int i = 0; i < treeWidget->topLevelItemCount(); ++i) writeItem(treeWidget->topLevelItem(i)); writeEndDocument(); return true; }
void XbelWriter::writeToFile(QIODevice *device) { TRACE_OBJ setDevice(device); writeStartDocument(); writeDTD(QLatin1String("<!DOCTYPE xbel>")); writeStartElement(QLatin1String("xbel")); writeAttribute(QLatin1String("version"), QLatin1String("1.0")); const QModelIndex &root = bookmarkModel->index(0,0, QModelIndex()); for (int i = 0; i < bookmarkModel->rowCount(root); ++i) writeData(bookmarkModel->index(i, 0, root)); writeEndDocument(); }
bool QhcpWriter::writeFile(const QString &fileName) { QFile out(fileName); if (!out.open(QIODevice::WriteOnly)) return false; setDevice(&out); writeStartDocument(); writeStartElement(QLatin1String("QHelpCollectionProject")); writeAttribute(QLatin1String("version"), QLatin1String("1.0")); writeAssistantSettings(); writeDocuments(); writeEndDocument(); return true; }
bool XbelWriter::write(QIODevice *device, const BookmarkNode *root) { setDevice(device); writeStartDocument(); writeDTD(QLatin1String("<!DOCTYPE xbel>")); writeStartElement(QLatin1String("xbel")); writeAttribute(QLatin1String("version"), QLatin1String("1.0")); if (root->type() == BookmarkNode::Root) { for (int i = 0; i < root->children().count(); ++i) writeItem(root->children().at(i)); } else { writeItem(root); } writeEndDocument(); return true; }
bool QhpWriter::writeFile(const QString &fileName) { QFile out(fileName); if (!out.open(QIODevice::WriteOnly)) return false; setDevice(&out); writeStartDocument(); writeStartElement(QLatin1String("QtHelpProject")); writeAttribute(QLatin1String("version"), QLatin1String("1.0")); writeTextElement(QLatin1String("namespace"), m_namespaceName); writeTextElement(QLatin1String("virtualFolder"), m_virtualFolder); writeCustomFilters(); writeFilterSection(); writeEndDocument(); out.close(); return true; }
bool OptionsTreeWriter::write(QIODevice* device) { setDevice(device); // turn it off for even more speed setAutoFormatting(true); setAutoFormattingIndent(1); writeStartDocument(); writeDTD(QString("<!DOCTYPE %1>").arg(configName_)); writeStartElement(configName_); writeAttribute("version", configVersion_); writeAttribute("xmlns", configNS_); writeTree(&options_->tree_); writeEndDocument(); return true; }
int XmlToKross::start() { inclass=0; while (!xml.atEnd()) { QXmlStreamReader::TokenType t=xml.readNext(); QString str; switch(t) { case QXmlStreamReader::Invalid: qDebug() << "invalid token!" << xml.errorString() << endl; break; case QXmlStreamReader::StartDocument: writeDocument(); break; case QXmlStreamReader::StartElement: // qDebug() << "Element " << xml.name().toString() << endl; str=xml.name().toString(); if(str=="Class") { inclass++; if(inclass==1) writeClass(xml.attributes().value(QString(), "name").toString(), QString(), QList<QStringList>()); } else if(str=="Function") { QString funcname=xml.attributes().value(QString(), "name").toString(); QString rettype=xml.attributes().value(QString(), "type_name").toString(); bool isConst=xml.attributes().value(QString(), "constant").toString()==QChar('1'); bool isVirtual=xml.attributes().value(QString(), "virtual").toString()==QChar('1'); currentMethod=method(); currentMethod.access=xml.attributes().value(QString(), "access").toString(); currentMethod.funcname=funcname; currentMethod.returnType=rettype; currentMethod.isConst=isConst; currentMethod.isVirtual=isVirtual; if(!definedClasses.isEmpty() && ( funcname==definedClasses.last() || funcname=='~'+definedClasses.last() ) ) currentMethod.access="constructor"; } else if(str=="Argument") { method::argument arg; arg.name=xml.attributes().value(QString(), "name").toString(); arg.type=xml.attributes().value(QString(), "type_name").toString(); arg.def=xml.attributes().value(QString(), "defaultvalue").toString(); QString context=xml.attributes().value(QString(), "context").toString(); if(!arg.def.isEmpty() && arg.type.startsWith(context)) arg.def.prepend(context+"::"); currentMethod.args.append(arg); } else if(str=="Namespace") { QString name=xml.attributes().value(QString(), "name").toString(); qDebug() << "entering to namespace " << name << inNamespace; if(inNamespace!=name) { if(!inNamespace.isEmpty()) inNamespace.append("::"); inNamespace.append(name); writeNamespace(name); qDebug() << "current status" << inNamespace; } } else if(str=="Variable" && inclass==1 && xml.attributes().value(QString(), "access").toString()=="public") { writeVariable(xml.attributes().value(QString(), "name").toString(), xml.attributes().value(QString(), "type_name").toString(), xml.attributes().value(QString(), "type_constant").toString()=="1"); } else if(str=="Enum") { flags.clear(); flags.append(xml.attributes().value(QString(), "name").toString()); } else if(str=="Enumerator") flags.append(xml.attributes().value(QString(), "name").toString()); break; case QXmlStreamReader::EndDocument: writeEndDocument(); break; case QXmlStreamReader::EndElement: str=xml.name().toString(); if(str=="Class") { if(inclass==1) writeEndClass(); inclass--; } else if(str=="Function" && currentMethod.access=="public" && inclass==1) writeEndFunction(currentMethod); else if(str=="Enum") writeEndEnum(flags); else if(str=="Namespace") { inNamespace.resize(inNamespace.lastIndexOf("::")); } break; default: break; } } if (xml.error()) { qDebug() << "error!" << xml.errorString(); return 2; } return 0; }
void OpenSearchWriter::write(OpenSearchEngine *engine) { writeStartDocument(); writeStartElement(QL1S("OpenSearchDescription")); writeDefaultNamespace(QL1S("http://a9.com/-/spec/opensearch/1.1/")); if (!engine->name().isEmpty()) { writeTextElement(QL1S("ShortName"), engine->name()); } if (!engine->description().isEmpty()) { writeTextElement(QL1S("Description"), engine->description()); } if (!engine->searchUrlTemplate().isEmpty()) { writeStartElement(QL1S("Url")); writeAttribute(QL1S("method"), QL1S("get")); writeAttribute(QL1S("template"), engine->searchUrlTemplate()); if (!engine->searchParameters().empty()) { writeNamespace(QL1S("http://a9.com/-/spec/opensearch/extensions/parameters/1.0/"), QL1S("p")); QList<OpenSearchEngine::Parameter>::const_iterator end = engine->searchParameters().constEnd(); QList<OpenSearchEngine::Parameter>::const_iterator i = engine->searchParameters().constBegin(); for (; i != end; ++i) { writeStartElement(QL1S("p:Parameter")); writeAttribute(QL1S("name"), i->first); writeAttribute(QL1S("value"), i->second); writeEndElement(); } } writeEndElement(); } if (!engine->suggestionsUrlTemplate().isEmpty()) { writeStartElement(QL1S("Url")); writeAttribute(QL1S("method"), QL1S("get")); writeAttribute(QL1S("type"), engine->type()); writeAttribute(QL1S("template"), engine->suggestionsUrlTemplate()); if (!engine->suggestionsParameters().empty()) { writeNamespace(QL1S("http://a9.com/-/spec/opensearch/extensions/parameters/1.0/"), QL1S("p")); QList<OpenSearchEngine::Parameter>::const_iterator end = engine->suggestionsParameters().constEnd(); QList<OpenSearchEngine::Parameter>::const_iterator i = engine->suggestionsParameters().constBegin(); for (; i != end; ++i) { writeStartElement(QL1S("p:Parameter")); writeAttribute(QL1S("name"), i->first); writeAttribute(QL1S("value"), i->second); writeEndElement(); } } writeEndElement(); } if (!engine->imageUrl().isEmpty()) writeTextElement(QL1S("Image"), engine->imageUrl()); writeEndElement(); writeEndDocument(); }