【发布时间】:2014-03-27 09:13:14
【问题描述】:
我想从 XmlNodeptr 中删除一个 xmlNode。例如,从下图中,我想删除节点“XX”(连同它的子节点“m”)。如何使用 c 语言 libxml 库来做到这一点???有没有直接的库函数?
<PP>
<ABCD>
<XX>
<m>1</m>
</XX>
</ABCD>
</PP>
【问题讨论】:
我想从 XmlNodeptr 中删除一个 xmlNode。例如,从下图中,我想删除节点“XX”(连同它的子节点“m”)。如何使用 c 语言 libxml 库来做到这一点???有没有直接的库函数?
<PP>
<ABCD>
<XX>
<m>1</m>
</XX>
</ABCD>
</PP>
【问题讨论】:
只需使用xmlUnlinkNode,后面可能跟xmlFreeNode。来自文档:
void xmlUnlinkNode (xmlNodePtr cur)
从当前上下文中取消链接节点,该节点不会被释放。如果需要释放节点,请在取消链接后使用
xmlFreeNode()例程将其丢弃。请注意,命名空间节点不能取消链接,因为它们没有指向其父节点的指针。
【讨论】: