createElementNS()
परिभाषित किया गया है के रूप में:
def createElementNS(self, namespaceURI, qualifiedName):
prefix, localName = _nssplit(qualifiedName)
e = Element(qualifiedName, namespaceURI, prefix)
e.ownerDocument = self
return e
तो ...
0,123,
import xml.dom.minidom
doc = xml.dom.minidom.Document()
el = doc.createElementNS('http://example.net/ns', 'ex:el')
#--------------------------------------------------^^^^^
doc.appendChild(el)
print(doc.toprettyxml())
पैदावार:
<?xml version="1.0" ?>
<ex:el/>
... काफी वहाँ नहीं ...
import xml.dom.minidom
doc = xml.dom.minidom.Document()
el = doc.createElementNS('http://example.net/ns', 'ex:el')
el.setAttribute("xmlns:ex", "http://example.net/ns")
doc.appendChild(el)
print(doc.toprettyxml())
पैदावार:
<?xml version="1.0" ?>
<ex:el xmlns:ex="http://example.net/ns"/>
वैकल्पिक:
import xml.dom.minidom
doc = xml.dom.minidom.Document()
el = doc.createElementNS('http://example.net/ns', 'el')
el.setAttribute("xmlns", "http://example.net/ns")
doc.appendChild(el)
print(doc.toprettyxml())
जो पैदा करता है:
<?xml version="1.0" ?>
<el xmlns="http://example.net/ns"/>
ऐसा लगता है कि आप इसे मैन्युअल रूप से करना होगा। Element.writexml()
कोई संकेत नहीं दिखाता है कि नामस्थानों को कोई विशेष उपचार मिलेगा।
संपादित करें: यह उत्तर केवल xml.dom.minidom
पर लक्षित है, क्योंकि ओपी ने इसे प्रश्न में इस्तेमाल किया था। मैं इंगित नहीं करता कि आमतौर पर पाइथन में एक्सएमएल नेमस्पेस का उपयोग करना असंभव था। ;-)
यह काम करता है, लेकिन यह काफी हैक है। मुझे किसी भी अन्य नामस्थान-जागरूक डीओएम कार्यान्वयन को याद नहीं किया जा सकता है जो वास्तव में नामस्थानों का समर्थन नहीं करता है। मुझे आशा है कि पाइथन के लिए भी एक है। – phihag
मैं मिनीडोम के लिए स्रोत कोड देख रहा था, और ऐसा लगता है कि यह हैक सबसे नज़दीक है जिसे आप प्राप्त कर सकते हैं। मिनीडॉम में नेमस्पेस के लिए "आउटपुट" समर्थन वास्तव में अस्तित्वहीन नहीं है (AFAICS), उन्हें कोई विशेष उपचार नहीं मिलता है। हालांकि उन्हें सही ढंग से पार्स किया जाता है, इसलिए जब वे इनपुट स्ट्रिंग में थे, तो वे आउटपुट में भी होंगे। उस minidom के अलावा उन्हें सामान्य गुणों और मजेदार नाम वाले तत्वों के रूप में व्यवहार करता है। – Tomalak