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 回答