Email or username:

Password:

Forgot your password?
Мя :sparkles_lesbian:

Парсинг жсона в питоне: вот тебе две функции, туда и обратно, подкручиваются вот так
Парсинг хмл в питоне: у нас есть пять разных API, и это только в стандартной либе!

10 comments
jan Anja :CrabVerified:

@mo а ещё XML-парсинг стандартной библиотеки уязвим к непроверенному инпуту

Мя :sparkles_lesbian:

Я прочитала кусок документации по диагонали. Вижу, что есть attrs для аттрибутов, и есть некий extra. Увидев в списке ниже text, логично сделала вывод, что если передать его в extra, то задастся текст

Реальность полна разочарований и нарушений Zen of Python, и extra это тот же attrs, только в виде кваргов

Element Objects

class xml.etree.ElementTree.Element(tag, attrib={}, **extra)

    Element class. This class defines the Element interface, and provides a reference implementation of this interface.

    The element name, attribute names, and attribute values can be either bytestrings or Unicode strings. tag is the element name. attrib is an optional dictionary, containing element attributes. extra contains additional attributes, given as keyword arguments.

    tag

        A string identifying what kind of data this element represents (the element type, in other words).

    text
    tail

        These attributes can be used to hold additional data associated with the element. Their values are usually strings but may be any application-specific object. If the element is created from an XML file, the text attribute holds either the text between the element’s start tag and its first child or end tag, or None, and the tail attribute holds either the text between the element’s end tag and the next tag, or None. For the XML data
Мя :sparkles_lesbian:

В итоге пришлось написать немного проклятого вида выражение xml.SubElement(el, "name").text = ...

Кмк лучше, чем в много строчек с кучей переменных :/

MrClon

@mo ну так логично, html гораздо сложнее и разнообразнее json-а, сложнее сделать парсер которого будет хватать для 99% случаев.
Используй Beautiful Soup и не парься

MrClon

@mo а блин. Ну энивей более комплексный (и гораздо более проклятый) формат.
Кажется в последний раз когда мне надо было генерить XML, перепробовав разные варианты я пришёл к выводу что наименее всратый это шаблонизатор (:

Мя :sparkles_lesbian:

@MrClon а мне не надо полностью генерить, мне надо взять определенный тег и заменить ему детей :blobcatgooglyholdingitsheadinitshands:

(Я уже это сделала)

Yastreb :verifiedpolyam:

@mo

правильный парсон джсона в питоне: держи marshmallow и кучу классов.

Go Up