0

I tried to operation on one xml file. But not able to get the expected result.

XML:

<dataFeedDeliveryMetaData>
    <filesSupplied>
        <file type="employee_details">
            <format>
                <fields>
                    <field name="sl_no" order="1" />
                    <field name="first_name" order="2" />
                    <field name="last_name" order="3" />
                    <field name="gender" order="4" />
                </fields>
            </format>
            <filenames>
                <filename>employee_det1</filename>
            </filenames>
        </file>
        <file type="department">
            <format>
                <fields>
                    <field name="DNO" order="1" />
                    <field name="DNAME" order="2" />
                    <field name="DLOC" order="3" />
                </fields>
            </format>
            <filenames>
                <filename>dept1</filename>
                <filename>dept2</filename>
                <filename>dept3</filename>
            </filenames>
        </file>
    </filesSupplied>
</dataFeedDeliveryMetaData>  

Expected result:

file                     filename         name        order
emplyee_details        employee_det1     sl_no         1
emplyee_details        employee_det1     first_name    2
emplyee_details        employee_det1     last_name     3
emplyee_details        employee_det1     gender        4
department             dept1             DNO          1
department             dept1             DNAME        2
department             dept1             DLOC         3
department             dept2             DNO          1
department             dept2             DNAME        2
department             dept2             DLOC         3
department             dept3             DNO          1
department             dept3             DNAME        2
department             dept3             DLOC         3
EdChum
  • 376,765
  • 198
  • 813
  • 562
  • where is your code?? – Vaibhav Vishal Apr 23 '19 at 08:54
  • Possible duplicate of [How do I parse XML in Python?](https://stackoverflow.com/questions/1912434/how-do-i-parse-xml-in-python) – Vaibhav Vishal Apr 23 '19 at 08:54
  • import xml.etree.ElementTree as ET tree = ET.parse('xm_file_location\\mydata.xml') root = tree.getroot() xml_filelist = [e.text for e in root.findall('./filesSupplied/file/filenames/filename')] for i in range(len(xml_filelist)): print xml_filelist[i] order=[f.attrib['order'] for f in root.iter('field')] print order – Sachidananda Gouda Apr 24 '19 at 10:14
  • In the above code I am printing the file name and order for the same file. But it is not giving the order for each file. Instead it is fetching all order values that present in the file. – Sachidananda Gouda Apr 24 '19 at 10:17
  • you can edit your question to add properly formatted code, don't write it in comment, no one is going to read that. – Vaibhav Vishal Apr 24 '19 at 13:05

0 Answers0