使用minidom从Node或Element对象获取Document

时间:2012-07-31 06:45:12

标签: python xml minidom

有没有办法从子元素或节点获取文档根目录?我正在从与文档,元素或节点中的任何一个一起工作的库迁移到仅适用于Document的库。例如

自:

element.xpath('/a/b/c') # 4Suite

为:

xpath.find('/a/b/c', doc) # pydomxpath

1 个答案:

答案 0 :(得分:6)

Node个对象具有ownerDocument属性,该属性引用与该节点关联的Document对象。请参阅http://www.w3.org/TR/DOM-Level-2-Core/core.html#node-ownerDoc

Python文档中未提及此属性,但它可用。例如:

from xml.dom import minidom

XML = """
<root>
   <x>abc</x>
   <y>123</y>
</root>"""

dom = minidom.parseString(XML)
x = dom.getElementsByTagName('x')[0]

print x
print x.ownerDocument

输出:

<DOM Element: x at 0xc57cd8>
<xml.dom.minidom.Document instance at 0x00C1CC60>