0
我正在使用libxml2来解析HTML。我想删除某些格式标记,如<center>
,同时保留其内容(例如,链接)。libxml2 - 删除孩子,但不是孙子
这意味着我必须从我的xmlNodeSet
中删除某些子节点,但保留该节点的子节点。
现在,我得到这个代码:
xmlNodePtr parentNode = nodes->nodeTab[i];
if (parentNode != NULL) {
xmlNodePtr child = parentNode->children;
xmlNodePtr parentNextSibling = parentNode->next;
xmlNodePtr grandParent = NULL;
while (child) {
xmlUnlinkNode(child);
if (parentNextSibling != NULL) {
xmlAddPrevSibling(parentNextSibling, child);
}
else {
if (grandParent == NULL)
grandParent = parentNode->parent;
xmlAddChild(grandParent, child);
}
child = child->next;
}
xmlUnlinkNode(parentNode);
xmlFree(parentNode);
}
,代码将孩子添加到文档,但它还会删除我将其添加为同级节点。我究竟做错了什么?