Форум сайта python.su
0
Преобразовать файл с описанем праметров из одного формата в другой.
1.xml - исходный файл
2.xml - результат
Написать скрипт, перобразующий из первого формата во второй.
меняются аттрибуты тэгов и сами теги:
из
<Parameter name=“DeviceSummary” wr_attr=“1” valueType=“string” len=“1024” />
в
<DeviceSummary type=“string” typeLength=“1024” write=“W”/>
name=“DeviceSummary” -> преобразовался в имя тега
wr_attr=“1” -> write=“W”
valueType=“string” -> type=“string”
len=“1024” -> typeLength=“1024”
это можно реализовать при помощи библ. lxml или можно обойтись регулярными выражениями?
нужно создавать новый xml файл или можно изменить исходный и переименовать?
Офлайн
857
>>> import lxml.html >>> >>> s = '<Parameter name="DeviceSummary" wr_attr="1" valueType="string" len="1024" />' >>> fmt = '<DeviceSummary type="{}" typeLength="{}" write="{}" />' >>> >>> node = lxml.html.fromstring(s) >>> >>> v = node.attrib['valuetype'] >>> l = node.attrib['len'] >>> w = 'W' if node.attrib['wr_attr'] == '1' else '' >>> >>> out = fmt.format(v, l, w) >>> print(out) <DeviceSummary type="string" typeLength="1024" write="W" /> >>>
Офлайн