क्या Python ElementTree में डिफ़ॉल्ट/अपरिक्स्ड नेमस्पेस को परिभाषित करने का कोई तरीका है? यह काम करने के लिए प्रतीत नहीं होता ...पायथन ElementTree डिफ़ॉल्ट नामस्थान?
ns = {"":"http://maven.apache.org/POM/4.0.0"}
pom = xml.etree.ElementTree.parse("pom.xml")
print(pom.findall("version", ns))
न ही ऐसा करता है:
ns = {None:"http://maven.apache.org/POM/4.0.0"}
pom = xml.etree.ElementTree.parse("pom.xml")
print(pom.findall("version", ns))
यह करता है, लेकिन फिर मैं हर तत्व उपसर्ग के लिए है:
ns = {"mvn":"http://maven.apache.org/POM/4.0.0"}
pom = xml.etree.ElementTree.parse("pom.xml")
print(pom.findall("mvn:version", ns))
अजगर 3.5 का उपयोग करना ओएसएक्स पर
संपादित करें: यदि उत्तर "नहीं" है, तो आप अभी भी बक्षीस प्राप्त कर सकते हैं :-)। मैं बस किसी ऐसे व्यक्ति से एक निश्चित "नहीं" चाहता हूं जिसने इसका उपयोग करके काफी समय बिताया है।
'ElementTree' का उपयोग करके, आपको उपसर्ग का उपयोग करना होगा। यदि आप 'lxml' का उपयोग करते हैं, तो आप हार्ड-कोडिंग उपसर्गों के बजाय '.nsmap' का उपयोग कर सकते हैं। विवरण के लिए http://stackoverflow.com/questions/14853243/parsing-xml-with-namespace-in-python-via-elementtree देखें – gtlambert