And*_*rea 4 python xml lxml object xml-parsing
是否可以根据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>
Run Code Online (Sandbox Code Playgroud)
我喜欢XML呈现数据和属性的方式,但我想使用Python,所以我问是否有一组实用程序可以读取上面的文件并创建类似于:
class breakfast_menu():
food = food(self, name="Belgian Waffles", price="$5.95", description="blah blah...etc...", calories=650)
Run Code Online (Sandbox Code Playgroud)
这是可行的吗?谁能建议一种方法/工具来做到这一点?提前感谢您的考虑.
小智 5
使用一些XML解析器(例如ElementTree)解析它.将每个食品标签中的内容添加到Python字典中.在将字典提供给函数时解压缩字典,如下所示:
food(**my_dictionary)
Run Code Online (Sandbox Code Playgroud)
如果字典包含类似的内容my_dictionary = {'name':'Belgian Waffles', 'price':'$5.95'},则调用food(**my_dictionary)将与调用相同food(name = 'Belgian Waffles', price = '$5.95').有关更多信息,请参阅了解Python中的kwargs.