Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从xml检索数据时的索引器_Python_Python 3.x_Xml_Xml Parsing - Fatal编程技术网

Python 从xml检索数据时的索引器

Python 从xml检索数据时的索引器,python,python-3.x,xml,xml-parsing,Python,Python 3.x,Xml,Xml Parsing,但我得到了这个错误: from xml.dom import minidom xml = minidom.parse('data.xml') entities = xml.getElementsByTagName('ENTITY') city = entities[0].getElementsByTagName("CITY")[0].firstChild.data 文件“G:/Sakib/Scrapy/xml_to_json/xml_to_json.py”,第4行,在

但我得到了这个错误:

from xml.dom import minidom

xml = minidom.parse('data.xml')

entities = xml.getElementsByTagName('ENTITY')

city = entities[0].getElementsByTagName("CITY")[0].firstChild.data
文件“G:/Sakib/Scrapy/xml_to_json/xml_to_json.py”,第4行,在
city=实体[0]。getElementsByTagName(“城市”)[0]。firstChild.data
索引器:列表索引超出范围

有人能帮我吗?

你错过了
实体地址
。您还应该能够调用
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()
输出:

xml = minidom.parse('data.xml')
city = xml.getElementsByTagName("CITY")[0].firstChild.nodeValue
print(city.strip())

它说:AttributeError:'NodeList'对象没有属性'getElementsByTagName'对不起,有点输入错误,我已经更新了答案
    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()
xml = minidom.parse('data.xml')
city = xml.getElementsByTagName("CITY")[0].firstChild.nodeValue
print(city.strip())
Pyongyang