gpt4 book ai didi

python - 使用 xml.etree 解析 XML 值

转载 作者:太空宇宙 更新时间:2023-11-03 15:48:49 26 4
gpt4 key购买 nike

可能是一个非常简单的问题 - 但我是 python/xml 新手,似乎找不到适合我的答案。

我正在尝试解析 xml 值并从 xml 响应中解析,如下所示

#!/usr/bin/python3
from xml.etree import cElementTree as ET
xmlstr = """<?xml version="1.0" encoding="utf-8"?>
<biwsXML_response type="find">
<clientdata>
<message></message>
<query>jurnamn:Acme Ltd</query>
<wpquery></wpquery>
<wpfilter></wpfilter>
</clientdata>
<records total="1">
<record nr="1">
<nummer>9990874474</nummer>
<orgnr>9990874474</orgnr>
<jurnamn>Acme1 Ltd</jurnamn>
<ba_postort>T&#228;by</ba_postort>
<abv_ugrupp></abv_ugrupp>
</record>
<record nr="2">
<nummer>9890874474</nummer>
<orgnr>9890874474</orgnr>
<jurnamn>Acme2 Ltd</jurnamn>
<ba_postort>T&#228;by</ba_postort>
<abv_ugrupp></abv_ugrupp>
</record>
</records>
</biwsXML_response>
"""
biwsXML_response = ET.fromstring(xmlstr)
for records in list(biwsXML_response):
orgnr = records.find('orgnr').text
jurnamn = records.find('jurnamn').text
print('orgnr: %s; jurnamn: %s' % (orgnr, jurnamn))

当我测试时,出现以下错误。

Traceback (most recent call last):
File "read_xml_tst2.py", line 31, in <module>
orgnr = records.find('orgnr').text
AttributeError: 'NoneType' object has no attribute 'text'

我知道我没有找到值“NoneType”,但我不明白错误是什么。感谢您的帮助。

最佳答案

问题是您必须在 XML 树中进一步深入。要访问 orgnr,您必须先进入 records,然后进入 record:

这应该对您有帮助:

for record in biwsXML_response.find('records').findall('record'):
orgnr = record.find('orgnr').text
jurnamn = record.find('jurnamn').text
print('orgnr: %s; jurnamn: %s' % (orgnr, jurnamn))

关于python - 使用 xml.etree 解析 XML 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41511939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com