【问题标题】:TinyXml2 stream printingTinyXml2 流式打印
【发布时间】:2016-06-27 20:32:43
【问题描述】:

如何在 TinyXML-2 中设置 XMLDocument 用于流式打印?

我正在尝试将代码从 TinyXML-1 移植到 TinyXML-2。在 TinyXML-1 中,我可以执行以下操作:

TinyXmlPrinter myPrinter;
myDocument.Accept(&myPrinter)
myPrinter.SetStreamPrinting();
myPrinter.CStr();

我已经构建了一个 XMLDocument,现在我不确定如何修改它以进行流式打印。 XMLPrinter::OpenElementXMLPrinter::PushAttributeXMLPrinter::CloseElement 似乎与我想要的非常接近。那么我是否必须迭代所有 XMLDocument 并为每个元素调用这些函数,还是有更简单的方法?

【问题讨论】:

  • 根据grinninglizard.com/tinyxml2docs/…XMLPrinter printer; doc.Print( &printer ); SomeFunction( printer.CStr() );
  • @JerryJeremiah 我认为他还想将构造函数的 compact 参数设置为 true,这似乎等同于 SetStreamPrinting()。
  • @AnonMail 谢谢!我错过了紧凑的论点。 :P

标签: c++ tinyxml2


【解决方案1】:

正如 @JerryJeremiah 和 @AnonMail 在 cmets 中指出的那样,在打印机构造函数中将 compact 参数设置为 true,然后调用 XMLPrinter::Print 函数起作用。

XMLPrinter myPrinter(0, true, 0); // Set compact to true
myDocument.Print(&myPrinter);
someFunction(myPrinter.CStr());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多