4

XMLファイルの階層コンテンツに基づいてPythonクラスオブジェクトを自動生成することは可能ですか?
私が何を意味するのか少し説明させてください。(簡単にするために)以下を含むXMLファイルがあるとしましょう。

<breakfast_menu>
   <food>
     <name>Belgian Waffles</name>
     <price>$5.95</price>
     <description>blah blah...etc...</description>
     <calories>650</calories>
   </food>
</breakfast_menu>

XMLがデータと属性を表示する方法は気に入っていますが、Pythonを使用したいので、上記のファイルを読み取って次のようなものを作成する一連のユーティリティがあるかどうかを尋ねています。

class breakfast_menu():
   food = food(self, name="Belgian Waffles", price="$5.95", description="blah blah...etc...", calories=650)

これは実行可能なものですか?誰かがそれを行う方法/ツールを提案できますか?よろしくお願いします。

4

2 に答える 2

5

XMLパーサー(ElementTreeなど)で解析します。各食品タグからPython辞書にコンテンツを取得します。次のような関数に辞書を渡すときに、辞書を解凍します。

food(**my_dictionary)

辞書にのようなものが含まれている場合my_dictionary = {'name':'Belgian Waffles', 'price':'$5.95'}、呼び出しfood(**my_dictionary)は。の呼び出しと同じになりますfood(name = 'Belgian Waffles', price = '$5.95')。詳細については、Pythonでのkwargsの理解を参照してください。

于 2012-10-15T15:55:29.447 に答える
-1

ElementTree XML APIのようなものが必要なようです:http://docs.python.org/library/xml.etree.elementtree.html

于 2012-10-15T15:31:40.277 に答える