इस पायथन 2.7.3 (या 2.7.0) कोड के साथ मैं विशेषता "एंड्रॉइड: वर्जनकोड = '2'" के मान को बदलना चाहता हूं, जो किपायथन 2.7: ऑब्जेक्ट "एलिमेंटट्री" में कोई विशेषता नहीं है "register_namespace"
#!/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)
"यहाँ समस्या" के साथ टिप्पणी की कोड की लाइन का उपयोग नहीं करते हैं, तो ElementTree है ऑटो नामकरण http://schemas.android.com/apk/res/android "ns0" ("ns0 में जिसके परिणामस्वरूप के लिए नाम स्थान उर्फ: versionCode नामस्थान उपसर्ग" Android "है = '3' "
इस प्रकार मैं नामस्थान यूआरएल को उपनाम नाम" एंड्रॉइड "में मैप करने के लिए ElementTree.register_namespace का उपयोग कर रहा हूं, जिसे here दस्तावेज किया गया है।
त्रुटि मैं जब मैं यह करने के लिए कोशिश है:
AttributeError: type object 'ElementTree' has no attribute 'register_namespace'
किसी जानता कि क्यों यह काम नहीं कर रहा? यह विधि पायथन 2.7 में उपलब्ध होनी चाहिए।
शानदार है कि यह क्या है:
आप बस अपने कोड बदलने की जरूरत है। धन्यवाद बेर्नी। – derFunk
चीयर्स, दोस्त। आपको – bernie
पर हैप्पी कोडिंग स्टैक ओवरफ़्लो पर 5 समान प्रश्न हैं और यह एकमात्र सही उत्तर है, धन्यवाद – seibelj