从 xml 检索数据时出现索引错误
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())
输出:
Pyongyang
<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())
输出:
Pyongyang