How can I tell ElementTree to ignore namespaces in an XML file?
For example, I would prefer to query modelVersion (as in statement 1) rather than {http://maven.apache.org/POM/4.0.0}modelVersion (as in statement 2).
  pom="""  <project xmlns="http://maven.apache.org/POM/4.0.0"           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0           http://maven.apache.org/maven-v4_0_0.xsd">    <modelVersion>4.0.0</modelVersion>  </project>  """    from xml.etree import ElementTree  ElementTree.register_namespace("","http://maven.apache.org/POM/4.0.0")  root = ElementTree.fromstring(pom)    print 1,root.findall('modelVersion')  print 2,root.findall('{http://maven.apache.org/POM/4.0.0}modelVersion')    1 []  2 [<Element '{http://maven.apache.org/POM/4.0.0}modelVersion' at 0x1006bff10>]      
 
No comments:
Post a Comment