Разбираю XML, примерно такую кашу:
<tag1 a1=“xxxx”></tag1><tag2>yyy</tag2><tag3>…..
если точнее, то:
<securities><security secid="0" active="true"><seccode>RU000A0JQ201</seccode><shortname>Ст-Недв 01</shortname><decimals>2</decimals><market>1</market><sectype>BOND</sectype><opmask usecredit="yes" bymarket="no" nosplit="yes" immorcancel="yes" cancelbalance="yes"/><minstep>0.01</minstep><lotsize>1</lotsize><point_cost>10</point_cost></security></securities>
<markets><market id="1">ММВБ</market><market id="4">FORTS</market><market id="7">РТС</market><market id="8">INF</market><market id="9">XETRA</market></markets>
<candlekinds><kind><id>1</id><period>60</period><name>1 минута</name></kind><kind><id>2</id><period>300</period><name>5 минут</name></kind><kind><id>3</id><period>900</period><name>15 минут</name></kind><kind><id>4</id><period>3600</period><name>1 час</name></kind><kind><id>5</id><period>86400</period><name>1 сутки</name></kind><kind><id>6</id><period>604800</period><name>1 неделя</name></kind></candlekinds>
Естественно, этот “поток сознания” скармливаю парсеру (уже написан). Есть большое желание распилить (или “взорвать” как в php
) поток на куски в соответствии с открывающими и закрывающими тегами (выделил абзацами) и выдавать парсеру по 1 корневому тэгу за раз.Как я должен делать это правильным образом? У меня from lxml import etree, objectify. Думал решить строковым перебором, но это же явно не Python way?
