删除具有 minidom 的节点
deleting a node with minidom
我有以下功能:
def removeNodes(mydom, name):
nodeList = mydom.getElementsByTagName('option')
# in php removing node has to be done in reverse order or it changes the
# nodeList. I assume same is true with python minidom
for node in reversed(nodeList):
if node.hasAttribute('name') and node.getAttribute('name') == name:
parent = node.parentNode()
parent.removeChild(node)
mydom 是一个 minidom 对象
当匹配(名称属性与函数的名称参数相同)并且需要删除节点时,出现以下异常:
Traceback (most recent call last):
File "./iBooksOptions.py", line 163, in <module>
main()
File "./iBooksOptions.py", line 160, in main
modifyMetaFile(xmlpath)
File "./iBooksOptions.py", line 79, in modifyMetaFile
removeNodes(mydom, 'specified-fonts')
File "./iBooksOptions.py", line 14, in removeNodes
parent = node.parentNode()
TypeError: 'Element' object is not callable
它似乎不喜欢我通过 node.parentNode() 定义父对象,但这似乎是 minidom 文档所说的引用它的方式。我很困惑。帮忙?
我通常在 PHP 中编写代码,使用 Python 3.6 进行某些命令行处理 XML 文件。
应将具有匹配名称属性的节点从其父节点中删除。
问题是 node.parentNode()
- 丢失 ()
所以它只是 node.parentNode
并且按预期工作。
我有以下功能:
def removeNodes(mydom, name):
nodeList = mydom.getElementsByTagName('option')
# in php removing node has to be done in reverse order or it changes the
# nodeList. I assume same is true with python minidom
for node in reversed(nodeList):
if node.hasAttribute('name') and node.getAttribute('name') == name:
parent = node.parentNode()
parent.removeChild(node)
mydom 是一个 minidom 对象 当匹配(名称属性与函数的名称参数相同)并且需要删除节点时,出现以下异常:
Traceback (most recent call last):
File "./iBooksOptions.py", line 163, in <module>
main()
File "./iBooksOptions.py", line 160, in main
modifyMetaFile(xmlpath)
File "./iBooksOptions.py", line 79, in modifyMetaFile
removeNodes(mydom, 'specified-fonts')
File "./iBooksOptions.py", line 14, in removeNodes
parent = node.parentNode()
TypeError: 'Element' object is not callable
它似乎不喜欢我通过 node.parentNode() 定义父对象,但这似乎是 minidom 文档所说的引用它的方式。我很困惑。帮忙?
我通常在 PHP 中编写代码,使用 Python 3.6 进行某些命令行处理 XML 文件。
应将具有匹配名称属性的节点从其父节点中删除。
问题是 node.parentNode()
- 丢失 ()
所以它只是 node.parentNode
并且按预期工作。