का उपयोग कर एनएस 0 नेमस्पेस के बिना एसवीजी/एक्सएमएल दस्तावेज़ बनाएं, मैं पाइथन 2.7 में एलिमेंट ट्री के साथ एक एसवीजी दस्तावेज़ बना रहा हूं। यहाँ कोड है:पायथन ElementTree
<?xml version='1.0' encoding='iso-8859-1'?>
<ns0:svg xmlns:ns0="http://www.w3.org/2000/svg" height="100%" version="1.1" width="100%"><path d="M1 1 L2 2 Z" /></ns0:svg>
इस रूप में मान्य एसवीजी पार्स नहीं करता है:
from xml.etree import ElementTree as etree
root = etree.XML('<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>')
root.append(etree.Element("path"))
root[0].set("d", "M1 1 L2 2 Z")
print etree.tostring(root, encoding='iso-8859-1')
यह आउटपुट उत्पन्न करता है। मैं ns0 नेमस्पेस को कैसे हटा सकता हूं?
अपने स्वयं के प्रश्न का उत्तर देना इसे हटाने की तुलना में बेहतर है। अगर किसी के पास बाद में यह प्रश्न है, तो इसका उत्तर पहले से ही दिया जाएगा और अनुक्रमित किया जाएगा! – codekaizen
यदि आपको पुरानी पायथन (या यदि आप नहीं करते हैं) के साथ संगतता की आवश्यकता है, तो आप ['lxml.etree'] (http://codespeak.net/lxml/tutorial.html) का उपयोग करके बेहतर हो सकते हैं: यह और भी है या 'xml.etree' द्वारा प्रदान की गई चीज़ों के सुपरसैट को कम करें। हालांकि, कुछ बाहरी निर्भरता है। – intuited
एलएक्सएमएल बॉक्स के बाहर ओएस एक्स पर काम नहीं करने के लिए कुख्यात है। वे इंटेल मैक के लिए प्रीकंपिल्ड अंडे नहीं प्रदान करते हैं और इसे स्क्रैच से संकलित करने की कोशिश करना बेहद मुश्किल है। इसे जल्दी से काम करने का एकमात्र तरीका यह है कि यदि आप मैकपोर्ट्स का उपयोग कर रहे हैं, जो मुझे नहीं लगता कि एक स्वीकार्य निर्भरता है। – jfenwick