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

时间:2012-08-13 13:51:24

标签: c++ xml tinyxml tinyxml2

在TinyXml 1中,可以使用<<<<<<<<<运营商,例如

TiXmlElement * pxmlChild = pxmlParent->FirstChildElement( "child" );
std::stringstream ss;
ss << (*pxmlChild);

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

编辑:具体来说,我是在xml之后,例如如果xml是:

<parent>
    <child>
        <value>abc</value>
    </child>
<parent>

我想要子元素的xml,例如

<child>
    <value>abc</value>
</child>

3 个答案:

答案 0 :(得分:6)

看起来像Print还没有,但是Accept也是如此:

XMLPrinter printer;
pxmlChild->Accept( &printer );
ss << printer.CStr();

答案 1 :(得分:2)

来自TinyXml2社区:

(子节点的)打印在实用功能中:

XMLPrinter printer;
pxmlChild->Print( &printer );
ss << printer.CStr();

答案 2 :(得分:0)

    TiXmlElement *assertion; // you can add some elements when you test
    TiXmlPrinter printer;
    assertion->Accept( &printer );
    std::string stringBuffer = printer.CStr();
    cout<<stringBuffer.c_str()<<endl;