छोड़ने से fromstring मेरे पास है को रोकने के लिए कैसे:xml.ElementTree निम्नलिखित कोड टुकड़ा यद्यपि commentnode
from xml.etree.ElementTree import fromstring,tostring
mathml = fromstring(input)
for elem in mathml.getiterator():
elem.tag = 'm:' + elem.tag
return tostring(mathml)
जब मैं इनपुट input
निम्नलिखित:
<math>
<a> 1 2 3 </a> <b />
<foo>Uitleg</foo>
<!-- <bar> -->
</math>
यह परिणाम:
<m:math>
<m:a> 1 2 3 </m:a> <m:b />
<m:foo>Uitleg</m:foo>
</m:math>
कैसे आते हैं? और मैं टिप्पणी कैसे संरक्षित कर सकता हूं?
संपादित करें: मुझे सटीक एक्सएमएल लाइब्रेरी का उपयोग नहीं है, हालांकि, मुझे टैग में चिपकाए गए परिवर्तन को करने में सक्षम होना चाहिए। दुर्भाग्य से, lxml इस अनुमति देने के लिए, प्रतीत होता है नहीं है (और मैं उचित नाम स्थान के संचालन का उपयोग नहीं कर सकते हैं)
मुझे नहीं लगता कि यह 'xml.etree' के वर्तमान कार्यान्वयन के साथ संभव है। टिप्पणी नोड्स पार्सर द्वारा शुरू करने के लिए छीन लिया जाता है। – Santa
लेकिन फिर मुझे एक अलग पार्सर का उपयोग करके इसे हल करने में सक्षम होना चाहिए? (मान लीजिए कि कोई ऐसा नहीं है जो टिप्पणियां नहीं छोड़ता)। चूंकि एलिमेंटट्री में टिप्पणी नोड है, जिसे आप बना सकते हैं, इसलिए मुझे कहीं कुछ समर्थन की उम्मीद होगी। – markijbema
यह सच है। 'xml.etree' * * एक टिप्पणी नोड बना सकता है और इसे एक्सएमएल में क्रमबद्ध कर सकता है, लेकिन दुर्भाग्यवश, इसके विपरीत पार्सर द्वारा रिवर्स समर्थित नहीं है। – Santa