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