XML Mapper для Python

Добрый день,

Недавно возникла задача с парсингом XML, и захотелось чтобы это было удобно.

Хотелось бы чтобы пользоваться этим можно было так:
class RaceMapper(XMLMapper):
    """Example usage
    """
    time = XMLAttrib(attrib='time')
    date = XMLAttrib(attrib='date')
    title = XMLAttrib(xpath='Title')
    eligibility = XMLAttrib(xpath='Eligibility', attrib='type')


if __name__ == '__main__:
    tree = etree.fromstring(open(xml_file_path).read())
    race = RaceMapper(tree.find('.//Race'))
    print race.date, race.time, race.title, race.eligibility


Такому коду можно скормить кусок XML типа:
<Race id="187505" date="20080414" time="1410+0100" raceType="Hurdle" >
   <Title>Parklands Golf For All Conditionals' Novices' Handicap Hdl</Title>
   <Eligibility type="4YO plus"/>
   <Distance units="yards" value="5280" text="3m 0f 0y"/>
</Race>


И он будет пропарсен.
Я накидал заготовку для такого функционала

Но у меня возник вопрос, неужели нету готового лёгкого решения для таких целей?
  • Вопрос задан
  • 2606 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
MichaelXIII
@MichaelXIII
А зачем изобретать XPath/XSLT если они уже есть?

Или я что-то не понял?
Ответ написан
FINTER
@FINTER
Присмотритесь еще к PyQuery. Это что-то типа jQuery.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы