首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python - ElementTree-不能对元素使用绝对路径

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

Stack Overflow用户
提问于 2011-03-31 22:02:43
回答 1查看 28.2K关注 0票数 33

当我尝试运行下面的代码时,我在ElementTree中得到了这个错误:

代码语言:javascript
复制
SyntaxError: cannot use absolute path on element

我的XML文档如下所示:

代码语言:javascript
复制
<Scripts>
  <Script>
    <StepList>
      <Step>
        <StepText>
        </StepText>
        <StepText>
        </StepText>
      </Step>
    </StepList>
  </Script>
</Scripts>

代码:

代码语言:javascript
复制
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语法?

基本上,我希望显示每个脚本元素的名称属性,如果它包含一个带有特定文本的StepText元素。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-31 22:27:51

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

更新工作代码:

代码语言:javascript
复制
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
票数 53
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5501118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档