2012-07-31 44 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