// mxml.h
extern mxml_node_t *mxml_node_clone(mxml_node_t *node);
// mxml-node.c
mxml_node_t * /* O - New node */
mxml_node_clone(mxml_node_t *node) /* I - Node type */
{
mxml_node_t *clone_node; /* clone node */
char Buff[8196] = {0};
if (!node)
return (NULL);
mxmlSaveString(node, Buff, sizeof(Buff), MXML_NO_CALLBACK);
clone_node = mxmlLoadString(NULL, Buff, MXML_NO_CALLBACK);// whitespace_cb
return (clone_node);
}
将克隆的单个节点加到某个节点下面:
node->ref_count = 1;
mxmlAdd(parent, MXML_ADD_AFTER, MXML_ADD_TO_PARENT, clone_node);