我想做和里面那个人完全相同的事情这个问题 https://stackoverflow.com/questions/11935689/how-to-convert-an-xmlelement-to-string-in-tinyxml2.
我想将 XML 子元素(及其所有子元素)转换为 XML 字符串,因此如果 XML 结构是
<parent>
<child>
<value>abc</value>
</child>
<parent>
我想要子元素的 xml,例如
<child>
<value>abc</value>
</child>
我不关心空白。问题是接受的答案 https://stackoverflow.com/a/12359773/724157另一个问题似乎已经过时了,因为 XMLElement 对象没有“Print”方法。我可以使用 TinyXml2 执行此操作吗?
我编写了以下函数,它对我有用。请注意,它可能有错误 - 我正在使用非常简单的 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(">");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)