我在python下使用libxml2.不幸的是,这个库的python版本真的很难记录,我在网上创建了几个例子,我可以理解一些方法.
我管理了很快添加一个XML节点.由于这个元素应该替换现有的元素,我想删除之前的一个,但我找不到删除孩子的方法.
有谁知道方法名称是什么?有没有人有关于这个图书馆的体面文件?
干杯
解决方法:
您可以使用unlinkNode()方法删除给定节点.通常,大多数适用于节点的方法都有记录,请尝试:
pydoc libxml2.xmlNode
对于unlinkNode,文档说:
unlinkNode(self)
Unlink a node from it's current context, the node is not
freed
例如,给定此输入:
<html>
<head>
<title>Document Title</title>
</head>
<body>
<div id="content">This is a test.</div>
</body>
</html>
您可以像这样解析文件:
>>> import libxml2
>>> doc = libxml2.parseFile('input.html')
找到< div>像这样的节点:
>>> node = doc.xpathEval('//*[@id="content"])[0]
并删除它像这样:
>>> node.unlinkNode()
现在,如果您打印出文档,您会得到:
>>> print doc
<head>
<title>Document Title</title>
</head>
<body>
</body>
</html>