with this python 2.7.3 (or 2.7.0) code I want to change the value of the attribute "android:versionCode='2'", which has the namespace prefix "android":
#!/usr/bin/python
from xml.etree.ElementTree import ElementTree, dump
import sys, os
# Problem here:
ElementTree.register_namespace("android", "http://schemas.android.com/apk/res/android")
tree = ElementTree()
tree.parse("AndroidManifest.xml")
root = tree.getroot()
root.attrib["{http://schemas.android.com/apk/res/android}versionCode"] = "3"
dump(tree)
When not using the line of code commented with "Problem here", ElementTree is auto-naming the namespace alias for http://schemas.android.com/apk/res/android to "ns0" (resulting in "ns0:versionCode='3'".
Thus I'm using ElementTree.register_namespace to map the namespace url to the alias name "android", which is documented here.
The error I get when I try to do this is:
AttributeError: type object 'ElementTree' has no attribute 'register_namespace'
Anybody knows why this is not working? This method should be available in python 2.7.