Python 2.6.6: 无法从当前元素的直接子元素中提取文本

Python 2.6.6: unable to extract text from direct children of the current element

我正在跟进 ElementTree tutorial,并且在使用那里提供的示例 XML 时,我得到的结果基本相同,但在使用我自己的 XML 文件时,我得到了意想不到的结果.

例如,我正在尝试从名为 marketCode 的所有 XML 个标签中提取文本。我的示例 XML 文件:

<process_config>

    <input name="dataIn">
        <filePattern>
            <marketCode>nyse</marketCode>
            <midfix/>
            <format>csv</format>
        </filePattern>
    </input>

    <input name="brokerIn">
        <filePattern>
            <marketCode>lse</marketCode>
            <midfix>.CBOENL</midfix>
            <format>csv</format>
        </filePattern>
    </input>

</process_config>

我使用以下代码提取数据:

import xml.etree.ElementTree as ET, sys, os


my_file = 'test.xml'

tree = ET.parse(my_file)
root = tree.getroot()

for filePattern in root.findall('filePattern'):
    marketCode = filePattern.find('marketCode').text
    
    print(marketCode)

当我 运行 上面的代码时,我得到一个空输出。预期输出如下:

nyse
lse

代码可能有什么问题?

filePattern 不是根元素的直接子元素。

有效:root.findall('.//filePattern')。这也适用:root.findall('input/filePattern').