python - Modify a XML using ElementTree -


  & lt; grandparent & gt; & LT; माता पिता & gt; & LT; बच्चे & gt; सैम / अंतरिक्ष यात्री & lt; / बच्चे & gt; & Lt; / माता-पिता & gt; & Lt; / दादा-दादी & gt;  

मैं माता पिता टैग के अंदर एक और बच्चे टैग जोड़कर उपरोक्त XML को संशोधित करना चाहता हूं। मैं इस तरह से कुछ कर रहा हूं ..

  पेड़ = ईटी। पार्स ("test.xml") ए = एट। एलेमेंट ('पेरेंट') बी = ईटी। एसबीईलेमेंट (ए, " बच्चा ") b.text =" Jay / Doctor "tree.write (" test.xml ")  

क्या यह XML फ़ाइल को संशोधित करने का सही तरीका है? कोई बेहतर तरीका है? या इसके बाद के कोड में मुझे और क्या ख्याल रखना चाहिए?

आपका कोड एक नया पेड़ बनाता है और इसके बारे में जय कहते हैं आपको जय से मौजूदा पेड़ को जोड़ने की आवश्यकता है, न कि किसी नए के लिए।

इसे आज़माएं:

  आयात करें xml.etree.ElementTree के रूप में ईटी वृक्ष = ईटी। "Test.xml") a = tree.find ('parent') # मौजूदा पेड़ से पैट्रिक नोड प्राप्त करें b = ET.SubElement (a, "child") b.text = "jay / doctor" tree.write ("test .xml ")  

यदि आप किसी विशेष बच्चे के लिए खोज करना चाहते हैं, तो आप यह कर सकते हैं:

  import xml.etree.ElementTree ईटी पेड़ के रूप में = ई.टी.परसे ("test.xml") a = पेड़.फिन्ड ('पेरेंट') a.findall ('child') में बी के लिए: if b.text.strip () == 'जे / डॉक्टर': ब्रेक टू नोट:  a.findall ()  

/ कोड> ( a.find () के समान, लेकिन सभी नामित तत्व लौटाता है)। xml.etree में बहुत सीमित खोज मापदंड है आप lxml.etree और उसका .xpath () विधि का उपयोग करने पर विचार कर सकते हैं।


Comments

Popular posts from this blog

php - Select box validation (in laravel) -

pandas - Iterate on Groupby Object's fields -

javascript - Render HTML after each iteration in loop -