Python - ElementTree - 不能在元素上使用绝对路径

2023-12-31

当我尝试运行以下代码时,我在 ElementTree 中收到此错误:

SyntaxError: cannot use absolute path on element

我的 XML 文档如下所示:

<Scripts>
  <Script>
    <StepList>
      <Step>
        <StepText>
        </StepText>
        <StepText>
        </StepText>
      </Step>
    </StepList>
  </Script>
</Scripts>

Code:

import xml.etree.ElementTree as ET

def search():
    root = ET.parse(INPUT_FILE_PATH)
    for target in root.findall("//Script"):
        print target.attrib['name']
        print target.findall("//StepText")

我在 Mac 上使用的是 Python 2.6。我使用 Xpath 语法是否错误?

基本上,我想显示每个 Script 元素名称属性(如果它包含具有特定文本的 StepText 元素)。


原来我需要说target.findall(".//StepText")。我猜任何没有“.”的东西被认为是绝对路径吗?

更新的工作代码:

def search():
    root = ET.parse(INPUT_FILE_PATH)
    for target in root.findall("//Script"):
        stepTexts = target.findall(".//StepText")
        for stepText in stepTexts:
            if FIND.lower() in stepText.text.lower():
                print target.attrib['name'],' -- ',stepText.text
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python - ElementTree - 不能在元素上使用绝对路径 的相关文章

随机推荐