如何在TinyXML2中将XMLElement转换为字符串

sno*_*ude 5 c++ xml tinyxml tinyxml2

在TinyXml 1中,可以使用<<运算符将子元素转换为字符串,例如

TiXmlElement * pxmlChild = pxmlParent->FirstChildElement( "child" );
std::stringstream ss;
ss << (*pxmlChild);
Run Code Online (Sandbox Code Playgroud)

这在TinyXml2中似乎不可能.如何在TinyXml2中将元素转换为xml字符串?

编辑:特别是我在xml之后,例如,如果xml是:

<parent>
    <child>
        <value>abc</value>
    </child>
<parent>
Run Code Online (Sandbox Code Playgroud)

我想要子元素的xml,例如

<child>
    <value>abc</value>
</child>
Run Code Online (Sandbox Code Playgroud)

小智 7

似乎Print不再存在,但Accept也可以:

XMLPrinter printer;
pxmlChild->Accept( &printer );
ss << printer.CStr();
Run Code Online (Sandbox Code Playgroud)


sno*_*ude 3

来自 TinyXml2 社区:

(子节点的)打印在实用函数中:

XMLPrinter printer;
pxmlChild->Print( &printer );
ss << printer.CStr();
Run Code Online (Sandbox Code Playgroud)

  • 看来这个解决方案不再存在了——不知道为什么。查看我的问题:http://stackoverflow.com/questions/27726049/extracting-sub-tree-xml-string-with-tinyxml2 (2认同)