Найти - Пользователи
Полная версия: lxml. Нужно получить данные из xml-файла в котором есть ОДИНАКОВЫЕ параметры у тэга.
Начало » Python для новичков » lxml. Нужно получить данные из xml-файла в котором есть ОДИНАКОВЫЕ параметры у тэга.
1
Pluto
Допустим файл с именем xml1.xml такой:
<root>
    <child1 par="2" bur="3" tap="25" tap="40"/>
</root>

Если попытаться выполнить команду tree = etree.parse(xml1.xml)
То я получу ошибку из-за одинаковых параметров для одного и того же тэга tap: lxml.etree.XMLSyntaxError: Attribute TAP redefined…
А вот так задумано создателями этого xml, что одинаковые параметры допустимы и означают, что какой-то параметр имеет несколько разных значений. Никак повлиять на них я не могу.
Мне бы как-то выгрызть эти данные и я их помещу в свою БД в конкретное поле как-нибудь через запятую перечисленными.

Только начал знакомиться с XML и библиотечкой lxml и тут же встрял.
Budulianin
Pluto
Мне бы как-то выгрызть эти данные и я их помещу в свою БД в конкретное поле как-нибудь через запятую перечисленными.

1. Ловить исключение и самостоятельно вырезать атрибут.
2. Посмотреть на библиотеки, из которых можно взять класс парсера и унаследовавшись от него
поменять логику метода под себя. Например xml.dom.minidom, функция parse.
Pluto
Отбой.
Все повторяющиеся параметры, оказывается, нужно засовывать в отдельные элементы с одноимённым параметром
<root>
    <child1 par="2" bur="3">
        <tap tap="25"/>
        <tap tap="40"/>
    </child1>
</root>
Вот такой разврат.
Спасибо за внимание.
Budulianin
Pluto
Вот такой разврат.
JSON и никакого разврата.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB