Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 3, 2014 19:22:56

bones
Зарегистрирован: 2014-02-27
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите с xml

Преобразовать файл с описанем праметров из одного формата в другой.
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 файл или можно изменить исходный и переименовать?

Офлайн

#2 Июнь 3, 2014 22:15:43

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

помогите с xml

>>> 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" />
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version