如何使用xml.etree从xml url中提取一个值

时间:2016-11-01 00:19:37

标签: python xml django xml-parsing xml.etree

我试图打印XML树的一个字段的值,这里是XML树(例如),当我提出它时我得到的那个

<puco>
    <resultado>OK</resultado>
    <coberturaSocial>O.S.P. TIERRA DEL FUEGO(IPAUSS)</coberturaSocial>
    <denominacion>DAMIAN GUTIERREZ DEL RIO</denominacion>
    <nrodoc>32443324</nrodoc>
    <rnos>924001</rnos>
    <tipodoc>DNI</tipodoc>
</puco>

现在,我只想打印“coberturaSocial”值,这里是我在views.py中的请求:

def get(request):
    r = requests.get('https://sisa.msal.gov.ar/sisa/services/rest/puco/38785898')
    dom = r.content
    asd = etree.fromstring(dom)

如果我打印“asd”我收到此错误:视图未返回HttpResponse对象。它返回了None。 而且在控制台中我得到了这个 我只想打印coberturaSocial,请帮助,xml解析新功能!

2 个答案:

答案 0 :(得分:0)

您需要提取标记的内容,然后将其包装在响应中,如下所示:

return HttpResponse(asd.find('coberturaSocial').text)

答案 1 :(得分:0)

我猜etreeimport xml.etree.ElementTree as etree

您可以使用:

text = r.content
dom = etree.fromstring(text)
el = dom.find('coberturaSocial')
el.text # this is where the string is