使用python创建/解析xml文件
我一直在网上阅读,并遇到这个解决方案Creating a simple XML file using python,但不知道自从这篇文章是5岁以后它是否仍然是一个相关的解决方案。 Python我猜在过去的5年里发展很快。使用python创建/解析xml文件
我有一个有几个属性的类。在这种情况下,属性名称是一个字符串,然后是另一个属性,称为项目,它是一个字符串列表。我想将这些数据写入一个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>
使用的ElementTree或XML库minidom命名,你可以SE这个答案在这个帖子:
例如:
import xml.dom.minidom
xml = xml.dom.minidom.parse(xml_fname)
# or xml.dom.minidom.parseString(xml_string)
pretty_xml_as_string = xml.toprettyxml()
在帖子中的答案没有解决不包含任何空格或缩进的格式 – JokerMartini
@JokerMartini我相信你可以使用toprettyxml方法:http://*.com/questions/749796/pretty-printing-xml-in -蟒蛇 –
我们e ['xml.etree.ElementTree'](https://docs.python.org/2/library/xml.etree.elementtree.html),或者查看[Python wiki](https://wiki.python。 org/moin/PythonXml)以获取更多选项。 – augurar
创建和解析xml是不同的问题,可能最好使用不同的工具处理。您可以使用ElementTree,lxml等创建文档...或者您可以使用xing模板工具,如jinga2。对于简单的xml文档,通常只需手动编写标签。 – tdelaney
*不确定自从该职位5岁以来它是否仍然是相关解决方案*。关联问题的答案仍然可以。 API中没有任何重大变化。 – mzjn