Добрый день,
Недавно возникла задача с парсингом 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>
И он будет пропарсен.
Я накидал
заготовку для такого функционала
Но у меня возник вопрос, неужели нету готового лёгкого решения для таких целей?