2012-07-31 78 views
3

有没有一种方法可以从子元素或节点获取文档根目录?我正在从一个与Document,Element或Node中的任何一个一起工作的库迁移到仅与Document一起工作的库。例如。使用minidom从节点或元素对象获取文档

来自:

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

到:

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

回答

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> 
+0

乌拉。有用。谢谢。 – Himanshu 2012-07-31 08:35:49