Найти - Пользователи
Полная версия: Обработать XML файл
Начало » Python для новичков » Обработать XML файл
1
marvel
Здравствуйте. Новичек в python.
Есть XML файл,который надо загрузить в таблицу если его упросить, то вид я написал ниже.
не понятно как получить набор данных чтобы сформировать скл запрос вида
insert into tbl (article,orgId) values ('100004',2213),values ('100006',2213))
Накатал такой код, но не пойду как получить родительский orgId?

xml = ‘'’<?xml version=“1.0” encoding=“UTF-8” standalone=“yes”?>
<services>
<service orgId=“2213”>
<service article=“100004”/>
<service article=“100006”/>
</service>
</services>'''

from lxml import etree

tree = etree.XML(xml)
nodes = tree.xpath('/services/service/service')
for node in nodes:
print node.values()

Спасибо.
py.user.next
>>> import lxml.etree
>>> 
>>> s = b"""\
... <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
... <services>
... <service orgId="2213">
... <service article="100004"/>
... <service article="100006"/>
... </service>
... <service orgId="2214">
... <service article="100005"/>
... <service article="100007"/>
... </service>
... </services>
... """
>>> 
>>> doc = lxml.etree.fromstring(s)
>>> 
>>> for node in doc.xpath(r'.//service[@orgId]'):
...     name = node.attrib['orgId']
...     nums = node.xpath(r'./service/@article')
...     out = [name] + nums
...     print(out)
... 
['2213', '100004', '100006']
['2214', '100005', '100007']
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB