XML создать файл в Python3 - PullRequest
1 голос
/ 17 июня 2020

Я столкнулся с проблемой и не знаю, как ее решить.
У меня есть два типа объектов, коллекция и элемент, у них много атрибутов, и мне нужно записать его на XML как:

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

Каждый объект коллекции имеет список с элементами внутри. Итак, как я могу сделать это с одним l oop, который выполняет итерацию по коллекциям в списке коллекций.

Спасибо за ваши ответы!

UPD: Я просто использовал форматированные строки для написания разметки, и это отлично подходит для такой простой задачи

Ответы [ 2 ]

0 голосов
/ 19 июня 2020

Вот пример использования SimplifiedDo c. Вам необходимо установить simpleified_scrapy, прежде чем вы сможете использовать следующий код. pip install simpleified_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

0 голосов
/ 17 июня 2020

Вы можете использовать библиотеку, чтобы справиться с этим, но это может быть немного излишним. Если вы хотите попробовать, ознакомьтесь с этим официальным руководством на сайте Python: https://docs.python.org/3/library/xml.etree.elementtree.html

Вы также можете предоставить элементам, которые хотите сериализовать, toXMLString () , который генерирует представление для этого объекта в XML и возвращает его в виде строки.

Вызовите этот метод в вашем l oop и запишите его в ваш файл.

...