एक XML फ़ाइल को पार्स करने के बाद कुछ ऑब्जेक्ट्स पर कॉलिंग विधियां

मेरे पास यह एक्सएमएल फ़ाइल है जिसे मैं पार्स करना चाहता हूं, और मानों के आधार पर, पाइथन में संबंधित ऑब्जेक्ट्स पर कुछ विधियों को कॉल करें।

<?xml version="1.0" encoding="UTF-8"?>

        
            
            
            
            
            
        
        
            
        

यहां मेरा पार्सर है:

def parseXml(file):
    xmldoc = minidom.parse(file)
    motor = [[]]
    led = [[]]

    #it gets all the attributes within the motor child

    motorlist = xmldoc.getElementsByTagName('motor')
    i = 0
    for s in motorlist :
        motor[i].append(motorlist[i].attributes['id'].value)
        motor[i].append(motorlist[i].attributes['state'].value)
        if(i

तो प्रत्येक मोटर के लिए [i] और नेतृत्व किया [i], मेरे पास "मोटरी" ऑब्जेक्ट है, विधियों को घुमाएं, घुमाएं, घुमाएं काउंटरक्लॉक वार, और turnOff (turni ऑब्जेक्ट्स के लिए turnOn और turnOff)। एक्सएमएल फाइल में मोटर किस स्थिति में है, इस आधार पर मैं इन तरीकों पर इन विधियों को कॉल करना चाहता हूं।

अर्थात।

मोटर आईडी = "0" राज्य = "ऑफ" ---- मैं motor0.turnOff() को कॉल करना चाहता हूं

मोटर आईडी = "1" राज्य = "आगे" ---- मैं motor1.rotateClockwise() को कॉल करना चाहता हूं

आदि...

मैं इसे अपने पार्सर में कैसे कार्यान्वित करूं? कोई भी मदद बहुत ही सराहनीय होगी!

0

1 उत्तर

आप एक टोक को नक्शा स्टोर कर सकते हैं "ऑफ" से टर्नऑफ() ..etc ..

action = {
    "off" : MotorClass.turnOff,
    "forward" : MotorClass.rotateColckwise
}

फिर action ["off"] (motor0) अपना काम करेगा। यदि आपके कोड को और अधिक जटिल होने की आवश्यकता है, तो आप अंतर्निहित फ़ंक्शन लागू चेकआउट कर सकते हैं।

0
जोड़ा