用Python3创建XML文件

问题描述 投票:0回答:1

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

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

每一个集合对象都有一个包含元素的列表 所以我怎么能用一个循环来完成这个任务 在集合列表中遍历集合呢?

谢谢大家的解答!

UPD: 我刚刚用格式化的字符串来写标记,对于这样一个简单的任务,这个方法非常好用。

python python-3.x xml lxml elementtree
1个回答
0
投票

你可以用一个库来处理这个问题, 但这可能有点矫枉过正. 如果你想试一试,可以看看Python网站上的这个官方教程。https:/docs.python.org3libraryxml.etree.elementtree.html。

你也可以给你想要序列化的元素一个toXMLString()方法,它可以为这个对象生成XML中的表示,并以字符串的形式返回。

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


0
投票

下面是一个使用SimplifiedDoc的例子。在使用下面的代码之前,你需要安装 simplified_scrapy。 pip install 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.comyiyedatasimplified-scrapy-demotreemasterdoc_examples。

© www.soinside.com 2019 - 2024. All rights reserved.