python - CElementTree का उपयोग कर पैरेंट नोड कैसे पुनर्प्राप्त करें?




(2)

xml के लिए

<grandparent>
  <parent1>
     <child>data1</child>
  </parent1>
  <parent2>
     <child>data2</child>
  </parent2>
</grandparent>

मुझे माता-पिता की ट्यूपल्स, XML में प्रत्येक माता-पिता के लिए डेटा की सूची की आवश्यकता है

क्या सीईएलमेंटट्री का उपयोग करने का कोई तरीका है? मैं इसे बच्चे, डेटा के लिए करने में सक्षम हूं, लेकिन दुर्भाग्य से बच्चे सभी मूल्यों में समान हैं, इसलिए यह बहुत अधिक उपयोग नहीं है।


parent_map = dict((c, p) for p in tree.getiterator() for c in p)
parent_map[el].remove(el)

ऐसा लगता है कि आप बच्चे से माता पिता को child.find('../parent') 1.3 संस्करण ( http://effbot.org/zone/element-xpath.htm देखें ) का उपयोग करके, xpath कमांड जैसे child.find('../parent') ) का उपयोग कर सकते हैं। child.find('../parent') । लेकिन मुझे लगता है कि अजगर 1.2 या कुछ संस्करण के साथ जहाज।

आपको एलएक्सएमएल के लिए भी जांचना चाहिए जो एट्री के साथ संगत है और पूर्ण Xpath समर्थन http://lxml.de/





celementtree