2012-08-13 37 views
4

在TinyXml 1中,可以使用運算符(例如,)來將子元素轉換爲字符串。如何將XMLElement轉換爲TinyXML2中的字符串

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> 

回答

2

從TinyXml2社區:

印刷(子節點)是一個效用函數:

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

看來日在這個解決方案不再存在 - 不知道爲什麼。看到我的問題:http://stackoverflow.com/questions/27726049/extracting-sub-tree-xml-string-with-tinyxml2 – 2015-01-02 18:04:35

5

好像打印是不存在了,但只是接受作品還有:

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