Python 类对象和 XML

标签 python xml object xml-parsing lxml

是否可以根据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)

这可行吗?谁能建议一种方法/工具来做到这一点? 预先感谢您的考虑。

最佳答案

用一些 XML 解析器(例如 ElementTree)解析它。将每个食品标签的内容获取到 Python 字典中。 在将字典提供给这样的函数时解压字典:

food(**my_dictionary)

如果字典包含类似 my_dictionary = {'name':'Belgian Waffles', 'price':'$5.95'} 的内容,调用 food(**my_dictionary) 将与调用 food(name = 'Belgian Waffles', price = '$5.95') 相同。有关更多信息,请查看 Understanding kwargs in Python .

关于Python 类对象和 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12898851/

相关文章:

javascript - 循环输入值并将它们按一定顺序放入对象内

javascript - 将 php 对象数组转换为 javascript 数组

python - 使用 boto3 读取指定文件夹/目录下 Amazon S3 文件夹上的表名称列表

python - 类型错误: 'Aircraft' 对象不可调用

python - 用于从 wiki 模板标记中提取字段的正则表达式

java - 不匹配的输入异常 : Cannot deserialize instance of `java.lang.Integer` out of START_OBJECT token

java - Android 上从 Activity 到 ListActivity

python - 如何使用 pd.cut 以自然的方式对数据进行分箱?

java - 如何在 Android 中使用 XPath 编辑属性

javascript - 无法访问 VueJS 中的根数据