5

在 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>
4

3 回答 3

9

似乎 Print 不再存在,但 Accept 也一样有效:

XMLPrinter printer;
pxmlChild->Accept( &printer );
ss << printer.CStr();
于 2015-03-20T21:21:33.050 回答
3

来自 TinyXml2 社区:

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

XMLPrinter printer;
pxmlChild->Print( &printer );
ss << printer.CStr();
于 2012-09-10T21:30:33.903 回答
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;
于 2017-03-24T02:49:40.500 回答