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);
}
,代碼將孩子添加到文檔,但它還會刪除我將其添加爲同級節點。我究竟做錯了什麼?