我想和this question中的那个人完全一样。
我想将XML子元素(及其所有子元素)转换为XML字符串,因此如果XML结构是
<parent>
<child>
<value>abc</value>
</child>
<parent>
我想要子元素的xml,例如
<child>
<value>abc</value>
</child>
我不在乎空白。问题是来自另一个问题的accepted answer似乎已过时,因为没有&#34; Print&#34; XMLElement对象的方法。我可以用TinyXml2吗?
答案 0 :(得分:0)
我为我编写了以下功能。请注意,它可能有错误 - 我正在使用非常简单的XML文件,因此我不会假装我已经测试了所有案例。
void GenXmlString(tinyxml2::XMLElement *element, std::string &str)
{
if (element == NULL) {
return;
}
str.append("<");
str.append(element->Value());
str.append(">");
if (element->GetText() != NULL) {
str.append(element->GetText());
}
tinyxml2::XMLElement *childElement = element->FirstChildElement();
while (childElement != NULL) {
GenXmlString(childElement, str);
childElement = childElement->NextSiblingElement();
}
str.append("</");
str.append(element->Value());
str.append(">");
}