tutorial read parse open library etree datacamp python xpath elementtree

parse - read xml response python



Python-ElementTree- no puede usar la ruta absoluta en el elemento (1)

Resulta que necesitaba decir target.findall (".// StepText"). Supongo que cualquier cosa sin el ''.'' es considerado un camino absoluto?

Código de trabajo actualizado:

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

Recibo este error en ElementTree cuando intento ejecutar el siguiente código:

SyntaxError: cannot use absolute path on element

Mi documento XML se ve así:

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

Código:

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")

Estoy en Python 2.6 en Mac. ¿Estoy usando la sintaxis Xpath mal?

Básicamente, quiero mostrar cada atributo de nombre de los elementos de Script si contiene un elemento StepText con cierto texto.