【问题标题】:How to convert an XMLElement to string in TinyXML2如何在 TinyXML2 中将 XMLElement 转换为字符串
【发布时间】:2012-08-09 18:20:22
【问题描述】:

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

【问题讨论】:

    标签: c++ xml tinyxml tinyxml2


    【解决方案1】:

    似乎 Print 不再存在,但 Accept 也能正常工作:

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

    【讨论】:

      【解决方案2】:

      来自 TinyXml2 社区:

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

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

      【讨论】:

      【解决方案3】:
          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;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-11
        • 2011-10-17
        • 1970-01-01
        • 2013-06-28
        • 1970-01-01
        • 2022-10-05
        • 2023-03-24
        • 2011-03-04
        相关资源
        最近更新 更多