我对 Python 非常陌生,并试图编写一个解析一些 XML 的程序。我遇到的问题是,当我尝试调用.len()
我认为是 NodeList 的内容时,我得到了错误'NodeList' object has no attribute 'len'
。这对我来说真的很令人惊讶,因为文档说:
此外,Python DOM 接口要求提供一些额外的支持,以允许将 NodeList 对象用作 Python 序列。所有 NodeList 实现必须包含对len ()的支持
这是我的代码:
import xml.dom.minidom
def testFunction(translationDOM):
textCollection = translationDOM.getElementsByTagName("onscreen_text")
for onscreenText in textCollection:
print textCollection.len()
然后在Main()
...
translationDom = parse(xmlFileName)
testFunction(translationDom)
我不想在这里发布我的整个 xml(它很大),但是有许多类似于:
<onscreen_text>
<source id="2036" unique_name="blah" should_be_translated="True">
....
</onscreen_text>
这是完整的错误文本:
File "trophytool.py", line 155, in <module>
main()
File "trophytool.py", line 134, in main
testFunction(translationDom)
File "trophytool.py", line 64, in testFunction
print textCollection.len()
AttributeError: 'NodeList' object has no attribute 'len'
您会认为它会打印<onscreen_text>
找到的标签数量,但事实并非如此。为什么是这样?