使用python创建/解析xml文件

时间:2015-11-01 18:30:51

标签: python xml

我一直在网上阅读并遇到了这个解决方案Creating a simple XML file using python但不确定它是否仍然是一个相关的解决方案,因为该帖子是5岁。 Python我猜测在过去的5年里进化了很多。

我有一个具有一些属性的类。在这种情况下,属性名称是一个字符串,然后是另一个名为items的属性,它是一个字符串列表。我想将这些数据写入xml,然后在运行工具时能够解析回来重新填充变量Teams。我希望它生成的xml具有漂亮的间距和缩进。

我可以在python中使用标准库创建所需的xml以及解析xml文件吗?或者我是否需要单独下载,那么你推荐什么?

Teams =[]
Teams.append(Team( name="Zebras" items=[]))
Teams.append(Team( name="Cobras" items=[]))
Teams.append(Team( name="Tigers" items=[]))
Teams.append(Team( name="Lizards" items=[]))

Xml输出示例

<?xml version="1.0" ?>
<teams>
  <team name="cobras">
    <item name="teapot001"/>
    <item name="teapot002"/>
    <item name="teapot003"/>
  </team>
  <team name="lizards">
    <item name="teapot001"/>
    <item name="teapot002"/>
    <item name="teapot003"/>
  </team>
</teams>

1 个答案:

答案 0 :(得分:1)

使用来自xml库的ElementTree或minidom,你可以在这篇文章中找到这个答案:

How do I parse XML in Python?

示例:

import xml.dom.minidom

xml = xml.dom.minidom.parse(xml_fname)
# or xml.dom.minidom.parseString(xml_string)
pretty_xml_as_string = xml.toprettyxml()