子エレメントまたはノードからドキュメント ルートを取得する方法はありますか? Document、Element、または Node のいずれかで動作するライブラリから、Document のみで動作するライブラリに移行しています。例えば。
から:
element.xpath('/a/b/c') # 4Suite
に:
xpath.find('/a/b/c', doc) # pydomxpath
Node
オブジェクトには、ノードに関連付けられownerDocument
たオブジェクトを参照するプロパティがあります。http://www.w3.org/TR/DOM-Level-2-Core/core.html#node-ownerDocDocument
を参照してください。
このプロパティは 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>