I have an XML file like below:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<geoEventDefinition guid="3ab37e92-825c-4fdf-afa6-7b7536999ccd">
<fieldDefinitions>
<fieldDefinition name="id" type="String" cardinality="One">
<fieldDefinitionTag>
<name>TRACK_ID</name>
</fieldDefinitionTag>
<fieldDefinitions/>
</fieldDefinition>
<fieldDefinition name="position" type="Group" cardinality="One">
<fieldDefinitions>
<fieldDefinition name="longitude" type="Double" cardinality="One">
<fieldDefinitions/>
</fieldDefinition>
<fieldDefinition name="latitude" type="Double" cardinality="One">
<fieldDefinitions/>
</fieldDefinition>
</fieldDefinitions>
</fieldDefinition>
</fieldDefinitions> </geoEventDefinition>
I'm iterating through the file to retrieve the fieldDefinition attributes (i.e. {'name': 'id', 'type': 'String', 'cardinality': 'One'}) using the below:
from xml.etree import ElementTree as ET
tree = ET.parse(xmlFile)
root = tree.getroot()
for child in root.iter('fieldDefinition'):
print(child.attrib)
I also need to return the name tag data (i.e. TRACK_ID) under the fieldDefinitionTag if it exists, but cannot figure out how to do so.
Any help is appreciated.