当前位置:  开发笔记 > 编程语言 > 正文

TinyXML:将文档保存为char*或string

如何解决《TinyXML:将文档保存为char*或string》经验,为你挑选了3个好方法。

我正在尝试使用TinyXML从内存中读取和保存,而不是仅将文件读取并保存到磁盘.

似乎documnent的解析函数可以加载char*.但是当我完成它时,我需要将文档保存到char*.有谁知道这个?

编辑:打印和流媒体功能不是我想要的.它们以可视格式输出,我需要实际的xml内容.

编辑:打印很酷.



1> Alex B..:

这是我正在使用的一些示例代码,改编自TiXMLPrinter文档:

TiXmlDocument doc;
// populate document here ...

TiXmlPrinter printer;
printer.SetIndent( "    " );

doc.Accept( &printer );
std::string xmltext = printer.CStr();



2> 小智..:

TinyXml中一个简单而优雅的解决方案,用于将TiXmlDocument打印到std :: string.

我做了这个小例子

// Create a TiXmlDocument    
TiXmlDocument *pDoc =new TiXmlDocument("my_doc_name");

// Add some content to the document, you might fill in something else ;-)    
TiXmlComment*   comment = new TiXmlComment("hello world" );    
pDoc->LinkEndChild( comment );

// Declare a printer    
TiXmlPrinter printer;

// attach it to the document you want to convert in to a std::string 
pDoc->Accept(&printer);

// Create a std::string and copy your document data in to the string    
std::string str = printer.CStr();



3> gnobal..:

我不熟悉TinyXML,但从文档中可以看出,通过使用operator <<到C++流(因此可以使用C++字符串流)或TiXMLPrinter类,您可以在不使用文件的情况下获取STL字符串.请参阅TinyXML文档(查找"打印"部分)

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有