void QhcpWriter::writeDocuments() { if (m_qhpFile.isEmpty()) return; QString out = m_qhpFile; int i = out.indexOf(QLatin1Char('.')); if (i > -1) out = out.left(i); out.append(QLatin1String(".qch")); writeStartElement(QLatin1String("docFiles")); writeStartElement(QLatin1String("generate")); writeStartElement(QLatin1String("file")); writeTextElement(QLatin1String("input"), m_qhpFile); writeTextElement(QLatin1String("output"), out); writeEndElement(); writeEndElement(); writeStartElement(QLatin1String("register")); writeTextElement(QLatin1String("file"), out); writeEndElement(); writeEndElement(); }
void BookmarkFactory::serialize(Payload *extension, QXmlStreamWriter *writer) { Bookmark *bookmark = se_cast<Bookmark*>(extension); writer->writeStartElement(QLatin1String("storage")); writer->writeDefaultNamespace(NS_BOOKMARKS); foreach (const Bookmark::Conference &conf, bookmark->conferences()) { writer->writeStartElement(QLatin1String("conference")); writeAttribute(writer,QLatin1String("jid"), conf.jid().full()); writeAttribute(writer,QLatin1String("name"), conf.name()); writeAttribute(writer,QLatin1String("autojoin"), enumToStr(conf.autojoin(), autojoin_types)); writeTextElement(writer,QLatin1String("nick"), conf.nick()); writeTextElement(writer,QLatin1String("password"), conf.password()); writer->writeEndElement(); } writer->writeEndElement(); }
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; }
void QhpWriter::writeCustomFilters() { if (!m_customFilters.count()) return; foreach (const CustomFilter &f, m_customFilters) { writeStartElement(QLatin1String("customFilter")); writeAttribute(QLatin1String("name"), f.name); foreach (const QString &a, f.filterAttributes) writeTextElement(QLatin1String("filterAttribute"), a); writeEndElement(); }
//! [2] void XbelWriter::writeItem(QTreeWidgetItem *item) { QString tagName = item->data(0, Qt::UserRole).toString(); if (tagName == "folder") { bool folded = !treeWidget->isItemExpanded(item); writeStartElement(tagName); writeAttribute("folded", folded ? "yes" : "no"); writeTextElement("title", item->text(0)); for (int i = 0; i < item->childCount(); ++i) writeItem(item->child(i)); writeEndElement(); } else if (tagName == "bookmark") { writeStartElement(tagName); if (!item->text(1).isEmpty()) writeAttribute("href", item->text(1)); writeTextElement("title", item->text(0)); writeEndElement(); } else if (tagName == "separator") { writeEmptyElement(tagName); } }
void QhcpWriter::writeAssistantSettings() { if (m_properties.isEmpty()) return; writeStartElement(QLatin1String("assistant")); if (m_properties.contains(QLatin1String("title"))) writeTextElement(QLatin1String("title"), m_properties.value(QLatin1String("title"))); if (m_properties.contains(QLatin1String("applicationicon"))) writeTextElement(QLatin1String("applicationIcon"), m_properties.value(QLatin1String("applicationicon"))); if (m_properties.contains(QLatin1String("startpage"))) writeTextElement(QLatin1String("startPage"), m_titlePath + QLatin1String("/") + m_properties.value(QLatin1String("startpage"))); if (m_properties.contains(QLatin1String("aboutmenutext"))) { writeStartElement(QLatin1String("aboutMenuText")); writeTextElement(QLatin1String("text"), m_properties.value(QLatin1String("aboutmenutext"))); writeEndElement(); } if (m_properties.contains(QLatin1String("abouturl"))) { writeStartElement(QLatin1String("aboutDialog")); writeTextElement(QLatin1String("file"), m_properties.value(QLatin1String("abouturl"))); writeEndElement(); } if (m_properties.contains(QLatin1String("name"))) { writeTextElement(QLatin1String("cacheDirectory"), QLatin1String(".") + m_properties.value(QLatin1String("name"))); } writeEndElement(); }
void XSPFParser::save(const QList<MediaInfo> & files) { QTime timeElapsed; timeElapsed.start(); _stop = false; qDebug() << __FUNCTION__ << "Playlist:" << _filename; QString path(QFileInfo(_filename).path()); QFile file(_filename); if (file.open(QIODevice::WriteOnly)) { QXmlStreamWriter xml(&file); xml.setAutoFormatting(true); xml.writeStartDocument(); xml.writeStartElement(XSPF_PLAYLIST); xml.writeAttribute("version", "1"); xml.writeDefaultNamespace("http://xspf.org/ns/0/"); xml.writeNamespace(XSPF_QUARKPLAYER_NAMESPACE, "qp"); writeTextElement(xml, XSPF_TITLE, QFileInfo(_filename).baseName()); writeTextElement(xml, XSPF_CREATOR, QCoreApplication::applicationName()); writeTextElement(xml, XSPF_INFO, "http://quarkplayer.googlecode.com"); writeTextElement(xml, XSPF_DATE, QDateTime::currentDateTime().toString(Qt::ISODate)); xml.writeStartElement(XSPF_TRACKLIST); foreach (MediaInfo mediaInfo, files) { if (_stop) { break; } writeTrack(xml, mediaInfo); } xml.writeEndElement(); //trackList xml.writeEndElement(); //playlist }
//! [1] def writeFile(self, device): self.setDevice(device) self.writeStartDocument() self.writeDTD("<!DOCTYPE xbel>") self.writeStartElement("xbel") self.writeAttribute("version", "1.0") for i in range(0, self.treeWidget.topLevelItemCount()): self.writeItem(self.treeWidget.topLevelItem(i)) self.writeEndDocument() return True; //! [1] //! [2] void XbelWriter::writeItem(QTreeWidgetItem *item) { QString tagName = item->data(0, Qt::UserRole).toString(); if (tagName == "folder") { bool folded = !treeWidget->isItemExpanded(item); writeStartElement(tagName); writeAttribute("folded", folded ? "yes" : "no"); writeTextElement("title", item->text(0)); for (int i = 0; i < item->childCount(); ++i) writeItem(item->child(i)); writeEndElement(); } else if (tagName == "bookmark") { writeStartElement(tagName); if (!item->text(1).isEmpty()) writeAttribute("href", item->text(1)); writeTextElement("title", item->text(0)); writeEndElement(); } else if (tagName == "separator") { writeEmptyElement(tagName); } }
void XSPFParser::writeTrack(QXmlStreamWriter & xml, const MediaInfo & mediaInfo) { xml.writeStartElement(XSPF_TRACK); //Filename QUrl url(mediaInfo.fileName()); writeTextElement(xml, XSPF_LOCATION, url.toEncoded()); //Unique ID //FIXME not implemented yet //writeTextElement(xml, XSPF_IDENTIFIER, QString()); //Artist writeTextElement(xml, XSPF_CREATOR, mediaInfo.metadataValue(MediaInfo::Artist)); //Album writeTextElement(xml, XSPF_ALBUM, mediaInfo.metadataValue(MediaInfo::Album)); //Track number writeTextElement(xml, XSPF_TRACKNUM, mediaInfo.metadataValue(MediaInfo::TrackNumber)); //Title writeTextElement(xml, XSPF_TITLE, mediaInfo.metadataValue(MediaInfo::Title)); //Comment writeTextElement(xml, XSPF_ANNOTATION, mediaInfo.metadataValue(MediaInfo::Comment)); //Length writeIntElement(xml, XSPF_DURATION, mediaInfo.lengthMilliseconds()); //Album art URL //FIXME not implemented yet //writeTextElement(xml, XSPF_IMAGE, mediaInfo.metadataValue(MediaInfo::AlbumArt)); //URL of the original web page writeTextElement(xml, XSPF_INFO, mediaInfo.metadataValue(MediaInfo::URL)); xml.writeStartElement(XSPF_EXTENSION); xml.writeAttribute(XSPF_APPLICATION, XSPF_QUARKPLAYER_NAMESPACE); writeTextElementWithNamespace(xml, XSPF_QUARKPLAYER_NAMESPACE, XSPF_QUARKPLAYER_CUE_START_INDEX, mediaInfo.cueStartIndexFormatted()); writeTextElementWithNamespace(xml, XSPF_QUARKPLAYER_NAMESPACE, XSPF_QUARKPLAYER_CUE_END_INDEX, mediaInfo.cueEndIndexFormatted()); writeTextElementWithNamespace(xml, XSPF_QUARKPLAYER_NAMESPACE, XSPF_QUARKPLAYER_YEAR, mediaInfo.metadataValue(MediaInfo::Year)); writeTextElementWithNamespace(xml, XSPF_QUARKPLAYER_NAMESPACE, XSPF_QUARKPLAYER_GENRE, mediaInfo.metadataValue(MediaInfo::Genre)); xml.writeEndElement(); //extension xml.writeEndElement(); //track }
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成功!"; }
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(); }
void XbelWriter::writeItem(const BookmarkNode *parent) { switch (parent->type()) { case BookmarkNode::Folder: writeStartElement(QLatin1String("folder")); writeAttribute(QLatin1String("folded"), parent->expanded ? QLatin1String("no") : QLatin1String("yes")); writeTextElement(QLatin1String("title"), parent->title); for (int i = 0; i < parent->children().count(); ++i) writeItem(parent->children().at(i)); writeEndElement(); break; case BookmarkNode::Bookmark: writeStartElement(QLatin1String("bookmark")); if (!parent->url.isEmpty()) writeAttribute(QLatin1String("href"), parent->url); writeTextElement(QLatin1String("title"), parent->title); if (!parent->desc.isEmpty()) writeAttribute(QLatin1String("desc"), parent->desc); writeEndElement(); break; case BookmarkNode::Separator: writeEmptyElement(QLatin1String("separator")); break; default: break; } }