使用 python 2.7.3( 或 2.7. 0) 代码, 我想更改属性“ 和机器人: versionCode= 2” 的值, 其名称为空间前缀“ 和机器人 ” :
#!/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)
当不使用用“这里的问题”注释的代码线时,元素Tree是自动命名http://schemas.android.com/apk/res/android 至“ns0”(在“ns0:versionCode=3”中出现)。
因此,我使用ElementTree.register_namespace来绘制名为“android”的命名空间星际图,该星际图有文件记载,名称为“android”,“a href=” http://docs.python.org/library/xml.etree.elementtree.html#xml.etre.html#xml.etree.ElementTree.register_namespace”。
当我尝试这样做时,我得到的错误是:
AttributeError: type object ElementTree has no attribute register_namespace
有谁知道这个方法为什么不行吗?这个方法应该在python 2.7中提供。