Gibt es eine Möglichkeit, den Standard-Namespace ohne Präfix in Python ElementTree zu definieren? Dies scheint nicht zu arbeiten ...Python ElementTree Standard-Namespace?
ns = {"":"http://maven.apache.org/POM/4.0.0"}
pom = xml.etree.ElementTree.parse("pom.xml")
print(pom.findall("version", ns))
auch nicht dies:
ns = {None:"http://maven.apache.org/POM/4.0.0"}
pom = xml.etree.ElementTree.parse("pom.xml")
print(pom.findall("version", ns))
Dies tut, aber dann muss ich jedes Element Präfix:
ns = {"mvn":"http://maven.apache.org/POM/4.0.0"}
pom = xml.etree.ElementTree.parse("pom.xml")
print(pom.findall("mvn:version", ns))
Verwendung von Python 3.5 auf OSX.
EDIT: Wenn die Antwort "Nein" ist, können Sie immer noch das Kopfgeld bekommen :-). Ich will nur ein definitives "Nein" von jemandem, der viel Zeit damit verbracht hat, es zu benutzen.
Mit 'ElementTree' müssen Sie ein Präfix verwenden. Wenn Sie 'lxml' verwenden, können Sie' .nsmap' anstelle von hartkodierenden Präfixen verwenden. Siehe http://stackoverflow.com/questions/14853243/parsing-xml-with-namespace-in-python-via-elementtree für Details – gtlambert