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

Him*_*shu 3 python xml minidom

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

从:

element.xpath('/a/b/c') # 4Suite
Run Code Online (Sandbox Code Playgroud)

至:

xpath.find('/a/b/c', doc) # pydomxpath
Run Code Online (Sandbox Code Playgroud)

mzj*_*zjn 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
Run Code Online (Sandbox Code Playgroud)

输出:

<DOM Element: x at 0xc57cd8>
<xml.dom.minidom.Document instance at 0x00C1CC60>
Run Code Online (Sandbox Code Playgroud)