XML 在 Python3 中创建文件

XML create file in Python3

我运行遇到了一个问题,不知道如何解决。
我有两种类型的对象,集合和元素,它们有很多属性,我需要把它写到 XML 就像:

<data>
    <collection name="" .../>
        <element name="" link="" .../>
    </collection>
</data>

每个集合对象都有一个包含元素的列表。 那么我如何使用一个遍历集合列表中的集合的循环来做到这一点。

感谢您的回答!

UPD:我只是使用格式化字符串来编写标记,这对于这样一个简单的任务非常有用

您可以使用库来处理它,但这可能有点矫枉过正。如果您想尝试一下,请查看 Python 网站上的官方教程: https://docs.python.org/3/library/xml.etree.elementtree.html

您还可以为要序列化的元素提供一个 toXMLString() 方法,该方法在 XML 和 returns 中生成此对象的表示形式作为字符串.

在你的循环中调用这个方法,并写入你的文件。

这是一个使用 SimplifiedDoc 的例子。您需要安装 simplified_scrapy 才能使用以下代码。点安装 simplified_scrapy

from simplified_scrapy import SimplifiedDoc, req, utils
html = '''
<data>
    <collection name="coll">
        <element name="ele1" link="link1" .../>
        <element name="ele2" link="link2" .../>
    </collection>
</data>
'''
doc = SimplifiedDoc(html)
elements = doc.data.collection.elements
print(elements.name)

结果:

['ele1', 'ele2']

这里有更多例子:https://github.com/yiyedata/simplified-scrapy-demo/tree/master/doc_examples