मेरे पास एक स्ट्रिंग है जिसमें XML अनुरोध है जो http अनुरोध से लौटाया गया है।पायथन एलिमेंट ट्री: एक स्ट्रिंग को पार्स करना और एलिमेंट ट्री इंस्टेंस प्राप्त करना
मैं डेटा को पार्स करने के लिए ElementTree का उपयोग कर रहा हूं, और फिर मैं तत्व के लिए रिकर्सिव खोजना चाहता हूं।
this question के अनुसार, मैं केवल रिकर्सिवली result.findall()
साथ खोज सकते हैं अगर result
प्रकार ElementTree
की है बजाय टाइप Element
।
अब xml.etree.ElementTree.fromstring()
, स्ट्रिंग पार्स करने में इस्तेमाल किया, एक Element
वस्तु देता है, जबकि xml.etree.ElementTree.parse()
, एक फ़ाइल पार्स करने के लिए प्रयोग किया जाता है, एक ElementTree
वस्तु देता है।
मेरा प्रश्न तब है: मैं स्ट्रिंग को पार्स कैसे कर सकता हूं और ElementTree
उदाहरण प्राप्त कर सकता हूं? (एक अस्थायी फ़ाइल के लिए लिख जैसे किसी भी पागलपन के बिना)
मैं बस चाहता हूँ जोड़ें - एलएक्सएमएल का उपयोग करने वालों के लिए - जो कि एलएक्सएमएल में (जहां एक तत्व हमेशा दस्तावेज़/पेड़ से संबंधित होता है, भले ही अंतर्निहित हो), आप getrootttree() विधि का उपयोग कर सकते हैं। – Steven
धन्यवाद! इट्री में वास्तव में कष्टप्रद एपीआई डिज़ाइन, इनपुट स्रोत के आधार पर विभिन्न प्रकार के आउटपुट के लिए। वास्तव में भ्रमित :( –
यह वास्तव में प्रलेखन में बहुत स्पष्ट नहीं है। "सेस्ट्रिंग() एक स्ट्रिंग से एक्सएमएल को सीधे एलीमेंट में पार्स करता है, जो पार्स किए गए पेड़ का मूल तत्व है। अन्य पार्सिंग फ़ंक्शन एलिमेंट ट्री बना सकते हैं।" – Snorfalorpagus