3

子エレメントまたはノードからドキュメント ルートを取得する方法はありますか? Document、Element、または Node のいずれかで動作するライブラリから、Document のみで動作するライブラリに移行しています。例えば。

から:

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

に:

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

1 に答える 1

6

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>
于 2012-07-31T07:43:51.417 に答える