Example #1
0
XmlNodeRef cloneXmlNodeFrom(xml_node<>* xmlnode)
{
    XmlNodeRef node = CreateXmlNode(xmlnode->name());

    for (xml_attribute<>* attr = xmlnode->first_attribute();
            attr; attr = attr->next_attribute())
    {
        node->setAttrText(attr->name(), attr->value());
    }

    for (xml_node<>* subNode = xmlnode->first_node(); subNode; subNode = subNode->next_sibling())
    {
        XmlNodeRef sub = cloneXmlNodeFrom(subNode);
        node->addChild(sub);
    }

    return node;
}