I'm getting this error in ElementTree when I try to run the code below:
SyntaxError: cannot use absolute path on element
My XML document looks like this:
<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")
I'm on Python 2.6 on Mac. Am I using Xpath syntax wrong?
Basically I want to show every Script elements name attribute if it contains a StepTex开发者_高级运维t element with certain text.
Turns out I needed to say target.findall(".//StepText").  I guess anything without the '.' is considered an absolute path?
Updated working code:
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
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论