Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.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_Xml_Python 2.7 - Fatal编程技术网

Python 我在尝试从xml文件中获取文本时遇到索引器错误:列表索引超出范围

Python 我在尝试从xml文件中获取文本时遇到索引器错误:列表索引超出范围,python,xml,python-2.7,Python,Xml,Python 2.7,尝试从xml文件中遍历元数据标记并从每个标记中获取文本时出错。空白文本使标记的数量小于实际数量。例如:Name=som错误出现在那里。我如何解决这个问题 xmldoc = minidom.parse('manifest-initial.xml') node = xmldoc.documentElement itemlist = xmldoc.getElementsByTagName('MetaData') for i in range(0, len(itemlist)): if xm

尝试从xml文件中遍历元数据标记并从每个标记中获取文本时出错。空白文本使标记的数量小于实际数量。例如:Name=som错误出现在那里。我如何解决这个问题

xmldoc = minidom.parse('manifest-initial.xml')
node = xmldoc.documentElement

itemlist = xmldoc.getElementsByTagName('MetaData')
for i in range(0, len(itemlist)): 
    if xmldoc.getElementsByTagName('MetaData')[i].childNodes[0].nodeValue is None:
       print("None")
    print(xmldoc.getElementsByTagName('MetaData')[i].childNodes[0].nodeValue)



<MetaData Name="scrid">5211780</MetaData>
                        <MetaData Name="Abbeviation">HT</MetaData>
                        <MetaData Name="Partner Due Date">02/21/2019</MetaData>
                        <MetaData Name="version">1</MetaData>
                        <MetaData Name="asset">episode</MetaData>
                        <MetaData Name="psa.orig.providerAssetId">80</MetaData>
                        <MetaData Name="Publish Date">20.0</MetaData>
                        <MetaData Name="activationDate">26</MetaData>
                        <MetaData Name="som"></MetaData>
                        <MetaData Name="cadq"></MetaData>
                        <MetaData Name="cadr"></MetaData>

终端的输出在som处停止。

代码没有要计算的子元素-因此超出范围。检查子元素是否存在,而不是查看它包含的值。

尝试使用hasChildNodes函数。非常欢迎使用。请将其标记为结束问题的答案。