Форум сайта python.su
Помогите вытянуть в файл (текстовый) даные из такой XML:
<?xml version=“1.0” encoding=“UTF-8” ?>
- <device netaddr=“756033”>
- <measuringpoint>
<measuringchannel name=“Данные 1” code=“100” tag=“Значение 1” enable=“true” />
<measuringchannel name=“Данные 2” code=“300” tag=“Значение 2” enable=“true” />
<measuringchannel name=“Данные 3” code=“400” tag=“Значение 3” enable=“true” />
</measuringpoint>
</device>
в виде текстового файла
N = 756033
Данные 1 = Значение 1
Данные 2 = Значение 2
и т.д…
И что добавить, для обхода нескольких таких же URL по кругу
Отредактировано (Май 16, 2007 08:22:49)
Офлайн
Шось таке:
import xml.sax import xml.sax.handler class MyHandler(xml.sax.handler.ContentHandler): def __init__(self): self.inTitle = 0 self.mapping = {} self.measuringchannels = [] def startElement(self, name, attributes): if name == "device": self.netaddr = attributes["netaddr"] elif name == "measuringchannel": self.name = attributes["name"] self.code = attributes["code"] self.tag = attributes["tag"] self.enable = attributes["enable"] def endElement(self, name): if name == "device": self.mapping[self.netaddr] = self.measuringchannels elif name == "measuringchannel": self.measuringchannels.append({'name':self.name, 'tag': self.tag, 'code': self.code, 'enable': self.enable}) parser = xml.sax.make_parser() handler = MyHandler() parser.setContentHandler(handler) parser.parse("my_xml.xml") print handler.mapping
Офлайн
SawerТо як?
И что добавить, для обхода нескольких таких же URL по кругу
Офлайн
спасибо! буду пробовать!
Офлайн
вышло в таком виде! как обработать?
{u'756033': [{'code': u'31110100', 'enable': u'true', 'tag': u'123214435', 'name
': u'\u0421\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u
0440 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0441\u0447\u0435\u0442\u0447\u0
438\u043a\u0430'}, {'code': u'31110300', 'enable': u'true', 'tag': u'43253246',
'name': u'\u0421\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u0434\u0440\u0435\u0
441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0441\u0447\u0435\u0442\u0447\u04
38\u043a\u0430'}, {'code': u'31110400', 'enable': u'true', 'tag': u'85474563', '
name': u'\u0412\u0435\u0440\u0441\u0438\u044f \u041f\u041e \u044d\u043b\u0435\u0
43a\u0442\u0440\u043e\u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430'}]}
Офлайн
Шо там обробляти? Ти не можеш витягнути дані з словника? Sawer, може попробуй вивчити пітон?
Офлайн