本文整理汇总了C++中XmlWriter类的典型用法代码示例。如果您正苦于以下问题:C++ XmlWriter类的具体用法?C++ XmlWriter怎么用?C++ XmlWriter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了XmlWriter类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void RawStruct<RPG::TreeMap>::WriteXml(const RPG::TreeMap& ref, XmlWriter& stream) {
stream.BeginElement("TreeMap");
stream.BeginElement("maps");
Struct<RPG::MapInfo>::WriteXml(ref.maps, stream);
stream.EndElement("maps");
stream.BeginElement("tree_order");
stream.Write<std::vector<int> >(ref.tree_order);
stream.EndElement("tree_order");
stream.WriteNode<int>("active_node", ref.active_node);
stream.BeginElement("start");
Struct<RPG::Start>::WriteXml(ref.start, stream);
stream.EndElement("start");
stream.EndElement("TreeMap");
}
示例2: writePalettes
void writePalettes(XmlWriter& xml, const NamedList<PaletteInput>& palettes)
{
for (const auto& p : palettes) {
xml.writeTag("palette");
xml.writeTagAttribute("name", p.name);
xml.writeTagAttributeFilename("image", p.paletteImageFilename);
xml.writeTagAttribute("rows-per-frame", p.rowsPerFrame);
xml.writeTagAttribute("skip-first", p.skipFirstFrame);
if (p.animationDelay > 0) {
xml.writeTagAttribute("animation-delay", p.animationDelay);
}
xml.writeCloseTag();
}
}
示例3: write
void Glissando::write(XmlWriter& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag(QString("%1 id=\"%2\"").arg(name()).arg(xml.spannerId(this)));
if (_showText && !_text.isEmpty())
xml.tag("text", _text);
xml.tag("subtype", int(_glissandoType));
writeProperty(xml, P_ID::PLAY);
writeProperty(xml, P_ID::GLISSANDO_STYLE);
SLine::writeProperties(xml);
xml.etag();
}
示例4: writeSurface
/** writes a surface value.
*/
void iom_file::writeSurface(XmlWriter &out, IomObject &obj)
{
/*
object: MULTISURFACE [INCOMPLETE]
surface // if incomplete; multi surface values
object: SURFACE
boundary
object: BOUNDARY
polyline
object: POLYLINE
<SURFACE>
<BOUNDARY>
<POLYLINE .../>
<POLYLINE .../>
</BOUNDARY>
<BOUNDARY>
<POLYLINE .../>
<POLYLINE .../>
</BOUNDARY>
</SURFACE>
*/
out.startElement(tags::get_SURFACE(),0,0);
bool clipped=obj->getConsistency()==IOM_INCOMPLETE;
for(int surfacei=0;surfacei<obj->getAttrValueCount(tags::get_surface());surfacei++){
if(clipped){
out.startElement(tags::get_CLIPPED(),0,0);
}else{
// an unclipped surface should have only one surface element
if(surfacei>0){
iom_issueerr("unclipped surface with multi 'surface' elements");
break;
}
}
IomObject surface=obj->getAttrObj(tags::get_surface(),surfacei);
for(int boundaryi=0;boundaryi<surface->getAttrValueCount(tags::get_boundary());boundaryi++){
IomObject boundary=surface->getAttrObj(tags::get_boundary(),boundaryi);
out.startElement(tags::get_BOUNDARY(),0,0);
for(int polylinei=0;polylinei<boundary->getAttrValueCount(tags::get_polyline());polylinei++){
IomObject polyline=boundary->getAttrObj(tags::get_polyline(),polylinei);
writePolyline(out,polyline,true);
}
out.endElement(/*BOUNDARY*/);
}
if(clipped){
out.endElement(/*CLIPPED*/);
}
}
out.endElement(/*SURFACE*/);
}
示例5: writeXmlTestCase
void writeXmlTestCase(XmlWriter& writer, const Test& test)
{
writer.beginElement("testcase");
writer.attribute("name", test.name());
if (test.assertions() != 0)
{
writer.attribute("assertions", (int64_t)test.assertions());
writer.attribute("name", "NONE");
writer.attribute("time", test.elapsedTime());
auto& errors = test.errors();
for (auto it = begin(errors); it != end(errors); ++it)
writeXmlError(writer, *it);
}
writer.endElement();
}
示例6: write
void StaffTextBase::write(XmlWriter& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag(this);
for (ChannelActions s : _channelActions) {
int channel = s.channel;
for (QString name : s.midiActionNames)
xml.tagE(QString("MidiAction channel=\"%1\" name=\"%2\"").arg(channel).arg(name));
}
for (int voice = 0; voice < VOICES; ++voice) {
if (!_channelNames[voice].isEmpty())
xml.tagE(QString("channelSwitch voice=\"%1\" name=\"%2\"").arg(voice).arg(_channelNames[voice]));
}
if (_setAeolusStops) {
for (int i = 0; i < 4; ++i)
xml.tag(QString("aeolus group=\"%1\"").arg(i), aeolusStops[i]);
}
if (swing()) {
QString swingUnit;
if (swingParameters()->swingUnit == MScore::division / 2)
swingUnit = TDuration(TDuration::DurationType::V_EIGHTH).name();
else if (swingParameters()->swingUnit == MScore::division / 4)
swingUnit = TDuration(TDuration::DurationType::V_16TH).name();
else
swingUnit = TDuration(TDuration::DurationType::V_ZERO).name();
int swingRatio = swingParameters()->swingRatio;
xml.tagE(QString("swing unit=\"%1\" ratio= \"%2\"").arg(swingUnit).arg(swingRatio));
}
if (capo() != 0)
xml.tagE(QString("capo fretId=\"%1\"").arg(capo()));
TextBase::writeProperties(xml);
xml.etag();
}
示例7: OutputTestCases
void OutputTestCases( XmlWriter& xml, const Stats& stats ) {
std::vector<TestCaseStats>::const_iterator it = stats.m_testCaseStats.begin();
std::vector<TestCaseStats>::const_iterator itEnd = stats.m_testCaseStats.end();
for(; it != itEnd; ++it ) {
XmlWriter::ScopedElement e = xml.scopedElement( "testcase" );
xml.writeAttribute( "classname", it->m_className );
xml.writeAttribute( "name", it->m_name );
xml.writeAttribute( "time", "tbd" );
OutputTestResult( xml, *it );
std::string stdOut = trim( it->m_stdOut );
if( !stdOut.empty() )
xml.scopedElement( "system-out" ).writeText( stdOut, false );
std::string stdErr = trim( it->m_stdErr );
if( !stdErr.empty() )
xml.scopedElement( "system-err" ).writeText( stdErr, false );
}
}
示例8: writeMenuBar
void Workspace::writeMenuBar(XmlWriter& xml, QMenuBar* mb)
{
// Loop through each menu in menubar. For each menu, call writeMenu.
xml.stag("MenuBar");
if (!mb)
mb = mscore->menuBar();
for (QAction* action : mb->actions()) {
if (action->isSeparator())
xml.tag("action", "");
else if (action->menu()) {
xml.stag("Menu name=\"" + findStringFromMenu(action->menu()) + "\"");
writeMenu(xml, action->menu());
xml.etag();
}
else
xml.tag("action", findStringFromAction(action));
}
xml.etag();
}
示例9: write
void TimeSig::write(XmlWriter& xml) const
{
xml.stag("TimeSig");
writeProperty(xml, P_ID::TIMESIG_TYPE);
Element::writeProperties(xml);
xml.tag("sigN", _sig.numerator());
xml.tag("sigD", _sig.denominator());
if (stretch() != Fraction(1,1)) {
xml.tag("stretchN", stretch().numerator());
xml.tag("stretchD", stretch().denominator());
}
writeProperty(xml, P_ID::NUMERATOR_STRING);
writeProperty(xml, P_ID::DENOMINATOR_STRING);
if (!_groups.empty())
_groups.write(xml);
writeProperty(xml, P_ID::SHOW_COURTESY);
writeProperty(xml, P_ID::SCALE);
xml.etag();
}
示例10: write
void MidiCoreEvent::write(XmlWriter& xml) const
{
switch(_type) {
case ME_NOTEON:
xml.tagE(QString("note-on channel=\"%1\" pitch=\"%2\" velo=\"%3\"")
.arg(_channel).arg(_a).arg(_b));
break;
case ME_NOTEOFF:
xml.tagE(QString("note-off channel=\"%1\" pitch=\"%2\" velo=\"%3\"")
.arg(_channel).arg(_a).arg(_b));
break;
case ME_CONTROLLER:
if (_a == CTRL_PROGRAM) {
if (_channel == 0) {
xml.tagE(QString("program value=\"%1\"").arg(_b));
}
else {
xml.tagE(QString("program channel=\"%1\" value=\"%2\"")
.arg(channel()).arg(_b));
}
}
else {
if (channel() == 0) {
xml.tagE(QString("controller ctrl=\"%1\" value=\"%2\"")
.arg(_a).arg(_b));
}
else {
xml.tagE(QString("controller channel=\"%1\" ctrl=\"%2\" value=\"%3\"")
.arg(channel()).arg(_a).arg(_b));
}
}
break;
default:
qDebug("MidiCoreEvent::write: unknown type");
break;
}
}
示例11: writeXmlError
void writeXmlError(XmlWriter& writer, const Error& error)
{
if (error.type() == Error::UnhandledException)
writer.beginElement("error");
else
writer.beginElement("failure");
writer.attribute("message", error.message());
writer.attribute("type", Error::levelName(error.type()));
writer.characterData(error.file());
writer.characterData("[");
writer.characterData((int)error.lineNo());
writer.characterData("]");
auto& context = error.context();
for (auto c = begin(context); c != end(context); ++c)
{
writer.characterData("\n");
writer.characterData(c->text());
}
writer.endElement();
}
示例12: writeFlagsOn
void LightReaderWriter::writeFlagsOn(std::shared_ptr<XmlChunk> lightChunk, const Light *light, XmlWriter &xmlWriter) const
{
std::shared_ptr<XmlChunk> produceShadowChunk = xmlWriter.createChunk(PRODUCE_SHADOW_TAG, XmlAttribute(), lightChunk);
produceShadowChunk->setBoolValue(light->isProduceShadow());
}
示例13: write
void Page::write(XmlWriter& xml) const
{
xml.stag("Page");
foreach(System* system, _systems) {
system->write(xml);
}
示例14: write
void Ambitus::write(XmlWriter& xml) const
{
xml.stag(this);
xml.tag(Pid::HEAD_GROUP, int(_noteHeadGroup), int(NOTEHEADGROUP_DEFAULT));
xml.tag(Pid::HEAD_TYPE, int(_noteHeadType), int(NOTEHEADTYPE_DEFAULT));
xml.tag(Pid::MIRROR_HEAD,int(_dir), int(DIR_DEFAULT));
xml.tag("hasLine", _hasLine, true);
xml.tag(Pid::LINE_WIDTH, _lineWidth, LINEWIDTH_DEFAULT);
xml.tag("topPitch", _topPitch);
xml.tag("topTpc", _topTpc);
xml.tag("bottomPitch",_bottomPitch);
xml.tag("bottomTpc", _bottomTpc);
if (_topAccid.accidentalType() != AccidentalType::NONE) {
xml.stag("topAccidental");
_topAccid.write(xml);
xml.etag();
}
if (_bottomAccid.accidentalType() != AccidentalType::NONE) {
xml.stag("bottomAccidental");
_bottomAccid.write(xml);
xml.etag();
}
Element::writeProperties(xml);
xml.etag();
}
示例15: writePropertiesOn
void LightReaderWriter::writePropertiesOn(std::shared_ptr<XmlChunk> lightChunk, const Light *light, XmlWriter &xmlWriter) const
{
std::shared_ptr<XmlChunk> ambientColorChunk = xmlWriter.createChunk(AMBIENT_COLOR_TAG, XmlAttribute(), lightChunk);
ambientColorChunk->setPoint3Value(light->getAmbientColor());
}