XML : Python XPath SyntaxError: invalid predicate

i am trying to parse an xml like

  <document>      <pages>        <page>            <paragraph>XBV</paragraph>           <paragraph>GHF</paragraph>      </page>        <page>         <paragraph>ash</paragraph>           <paragraph>lplp</paragraph>      </page>        </pages>  </document>    

and here is my code

  import xml.etree.ElementTree as ET    tree = ET.parse("../../xml/test.xml")    root = tree.getroot()    path="./pages/page/paragraph[text()='GHF']"    print root.findall(path)    

but i get an error

  print root.findall(path)    File "X:\Anaconda2\lib\xml\etree\ElementTree.py", line 390, in findall      return ElementPath.findall(self, path, namespaces)    File "X:\Anaconda2\lib\xml\etree\ElementPath.py", line 293, in findall      return list(iterfind(elem, path, namespaces))    File "X:\Anaconda2\lib\xml\etree\ElementPath.py", line 263, in iterfind      selector.append(ops[token[0]](next, token))    File "X:\Anaconda2\lib\xml\etree\ElementPath.py", line 224, in prepare_predicate      raise SyntaxError("invalid predicate")  SyntaxError: invalid predicate    

what is wrong with my xpath?

No comments:

Post a Comment