Как сохранить instanceID для каждого элемента childnode - PullRequest
0 голосов
/ 01 апреля 2020

Мне нужна помощь, пожалуйста. По сути, мне нужно, чтобы instanceid повторялся с каждой записью внутри группы.

<instance>
    <data id="tool_v2">
      <start/>
      <end/>
      <Welcome_to_the_REC_S_roject_beneficiaries/>
      <For_participants_wit_itional_participants/>
      <group_dc1rd29 jr:template="">
        <First_Name/>
        <Last_name/>
        <Gender/>
        <Age/>
        <What_is_your_national_identity_number/>
        <Name_of_Farmer_Association/>
      </group_dc1rd29>
      <meta>
        <instanceID/>

Это мой текущий код, который не работает должным образом. Он извлекает instanceid для некоторых записей в группе, но не для всех.

group = dom2.getElementsByTagName('group_dc1rd29')
        for g in group:
            try:
                if len(g.childNodes) > 0:
                    first_name = g.getElementsByTagName('First_Name')[0].childNodes[0].toxml()
                    if first_name is not None:
                        real_first_name = first_name

                    surname = g.getElementsByTagName('Last_name')[0].childNodes[0].toxml()
                    if surname is not None:
                        real_surname = surname

                    gender = g.getElementsByTagName('Gender')[0].childNodes[0].toxml()
                    if gender is not None:
                        real_gender = gender

                    age = g.getElementsByTagName('Age')[0].childNodes[0].toxml()
                    if age is not None:
                        real_age = age

                    nationalID = g.getElementsByTagName('What_is_your_national_identity_number')[0].childNodes[0].toxml()
                    if nationalID is not None:
                        real_nationalID = nationalID

                    farmer_assoc = g.getElementsByTagName('Name_of_Farmer_Association')[0].childNodes[0].toxml()
                    if farmer_assoc is not None:
                        real_farmer_assoc = farmer_assoc

                    instanceID = dom2.getElementsByTagName('orx:instanceID')
                    if instanceID[0].firstChild is not None:
                        real_instanceID = instanceID[0].firstChild.nodeValue
                    else:
                        real_instanceID is None

                    dataelements = dom2.getElementsByTagName('data')
                    form_ID = dataelements[1].getAttribute("id")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...