Venugopal Reddy wrote: > Actuvally am having below XML File: > > <?xml version="1.0" encoding="UTF-8"?> > <soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> > <c:RetriveByVehicleLineModelYearResponse > xmlns:a="urn:ford/VehicleOrder/LegacyFeatureMapping/v2.0" > xmlns:b="urn:ford/VehicleOrder/SingleOrderEdit/v1.0" > xmlns:c="urn:ford/interface/VehicleOrder/LegacyFeatureMapping/v2"> > <c:PortInstalledOptionFeature> <a:VehicleLineId>13001</a:VehicleLineId> > <a:ModelYear>2014</a:ModelYear> <a:LegacyColumn>12</a:LegacyColumn> > <a:LegacyValue>178 </a:LegacyValue> > <a:SalesCode>W78</a:SalesCode> > <a:MappingId>41859</a:MappingId> > <a:MappingSeq>0</a:MappingSeq> > <a:MappingDirection>B</a:MappingDirection> > <a:TargetFeature> > <a:TargetCatgegory> > <a:Id>181</a:Id> > <a:Name>LIGHT TRUCK WHEELBASES </a:Name> > <a:Type>P</a:Type> > <a:FamilyCode>AA5</a:FamilyCode> > </a:TargetCatgegory> > <a:OrderFeatureId>15615</a:OrderFeatureId> > <a:WersCode>AA5K8</a:WersCode> > <a:OrderFeatureName>178 /4521MM WHEELBASE </a:OrderFeatureName> > <a:PIO>false</a:PIO> > <a:SummaryFeature>false</a:SummaryFeature> > </a:TargetFeature> > <a:TargetFeature> > <a:TargetCatgegory> > <a:Id>181</a:Id> > <a:Name>LIGHT TRUCK WHEELBASES </a:Name> > <a:Type>P</a:Type> > <a:FamilyCode>AA5</a:FamilyCode> > </a:TargetCatgegory> > <a:OrderFeatureId>15615</a:OrderFeatureId> > <a:WersCode>AA5K8_second time</a:WersCode> > <a:OrderFeatureName>178 /4521MM WHEELBASE </a:OrderFeatureName> > <a:PIO>false</a:PIO> > <a:SummaryFeature>false</a:SummaryFeature> > </a:TargetFeature> > </c:PortInstalledOptionFeature> > <c:PortInstalledOptionFeature> > <a:VehicleLineId>13001</a:VehicleLineId> > <a:ModelYear>2014</a:ModelYear> > <a:LegacyColumn>12</a:LegacyColumn> > <a:LegacyValue>190 </a:LegacyValue> > <a:SalesCode>W90</a:SalesCode> > <a:MappingId>41860</a:MappingId> > <a:MappingSeq>0</a:MappingSeq> > <a:MappingDirection>B</a:MappingDirection> > <a:TargetFeature> > <a:TargetCatgegory> > <a:Id>181</a:Id> > <a:Name>LIGHT TRUCK WHEELBASES </a:Name> > <a:Type>P</a:Type> > <a:FamilyCode>AA5</a:FamilyCode> > </a:TargetCatgegory> > <a:OrderFeatureId>15616</a:OrderFeatureId> > <a:WersCode>AA5MA</a:WersCode> > <a:OrderFeatureName>190 /4826MM WHEELBASE </a:OrderFeatureName> > <a:PIO>false</a:PIO> > <a:SummaryFeature>false</a:SummaryFeature> > </a:TargetFeature> > </c:PortInstalledOptionFeature> > </c:RetriveByVehicleLineModelYearResponse> > </soapenv:Body> > </soapenv:Envelope> > ============================ > > My expected Output is: > > > WersCode > AA5K8 > AA5MA > > ============== For this I have used below Code: > > mport glob > import xml.etree.ElementTree as ET > > Fatfile = open('#Var_SOE_VLIS_Response_Output\\Sales_to_Wers_Code2.txt', > 'a') try: > tree = ET.parse('#Var_ENG_Response_Files\\SoapResponse1.xml') > Fatfile.write('1111') > WersCodeList = > tree.findall('./{urn:ford/VehicleOrder/LegacyFeatureMapping/v2.0}PortInstalledOptionFeature') > Fatfile.write('\n2222') > # x = len(WersCodeList) > # Fatfile.write(x) > Fatfile.write('\n333') > for WersCode in WersCodeList : > Fatfile.write('\n444') > WersCode = > WersCode.find('.//{urn:ford/VehicleOrder/LegacyFeatureMapping/v2.0}WersCode') > Fatfile.write('\n') Fatfile.write(WersCode.text) > except : > Fatfile.write(' \nsorry') > Fatfile.write(' \nSuccess') > > ==== > > But I could not able to get the WersCode List using Findall.
- The namespace is not correct - "./" finds only direct children Try something like for feature in tree.findall( ".//{urn:ford/interface/VehicleOrder/LegacyFeatureMapping/v2}PortInstalledOptionFeature"): code = feature.find( ".//{urn:ford/VehicleOrder/LegacyFeatureMapping/v2.0}WersCode") print(code.text) > Please please please help on this .. am struggling sice one week sir... ... and it's all your fault because you offered a task to do for you instead of some code we could help you fix. -- https://mail.python.org/mailman/listinfo/python-list