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

How to convert an XMLElement to string in TinyXML2

本文关键字:转换 字符串 XMLElement 中将 TinyXML2      更新时间:2023-10-16

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

似乎打印不再存在,但接受也一样工作:

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

来自 TinyXml2 社区:

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

XMLPrinter printer;
pxmlChild->Print( &printer );
ss << printer.CStr();
    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;