[英]IndexError in retrieving data from xml
<ENTITY>
<ENTITY_ADDRESS>
<CITY> Pyongyang </CITY>
<COUNTRY > Democratic People's Republic of Korea</COUNTRY>
</ENTITY_ADDRESS>
</ENTITY>
我正在尝试使用 python 内置模块 xml 从上述 xml 文档中获取城市。 代码如下:
from xml.dom import minidom
xml = minidom.parse('data.xml')
entities = xml.getElementsByTagName('ENTITY')
city = entities[0].getElementsByTagName("CITY")[0].firstChild.data
但我收到此错误:
File "G:/Sakib/Scrapy/xml_to_json/xml_to_json.py", line 4, in <module>
city = entities[0].getElementsByTagName("CITY")[0].firstChild.data
IndexError: list index out of range
有谁能帮助我吗?
你错过了ENTITY_ADDRESS
。 此外,您应该能够调用nodeValue
来获取文本。
尝试:
from xml.dom import minidom
xml = minidom.parse('data.xml')
entities = xml.getElementsByTagName('ENTITY')
entities_address = entities[0].getElementsByTagName('ENTITY_ADDRESS')
city = entities_address[0].getElementsByTagName("CITY")[0].firstChild.nodeValue.strip()
您也可以通过仅搜索CITY
来缩短代码:
xml = minidom.parse('data.xml')
city = xml.getElementsByTagName("CITY")[0].firstChild.nodeValue
print(city.strip())
Output:
Pyongyang
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.