Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #79043 > unrolled thread
| Started by | Venugopal Reddy <venugopal.reddy@tspl.com> |
|---|---|
| First post | 2014-10-13 04:39 -0700 |
| Last post | 2014-10-15 11:04 +0200 |
| Articles | 8 — 3 participants |
Back to article view | Back to comp.lang.python
Jython or Pyton issue-- Kindly Help me.... Venugopal Reddy <venugopal.reddy@tspl.com> - 2014-10-13 04:39 -0700
Re: Jython or Pyton issue-- Kindly Help me.... Ian Kelly <ian.g.kelly@gmail.com> - 2014-10-13 09:43 -0600
Re: Jython or Pyton issue-- Kindly Help me.... Venugopal Reddy <venugopal.reddy@tspl.com> - 2014-10-14 02:46 -0700
Re: Jython or Pyton issue-- Kindly Help me.... Peter Otten <__peter__@web.de> - 2014-10-14 12:43 +0200
Re: Jython or Pyton issue-- Kindly Help me.... Venugopal Reddy <venugopal.reddy@tspl.com> - 2014-10-14 22:42 -0700
Re: Jython or Pyton issue-- Kindly Help me.... Peter Otten <__peter__@web.de> - 2014-10-15 09:32 +0200
Re: Jython or Pyton issue-- Kindly Help me.... Venugopal Reddy <venugopal.reddy@tspl.com> - 2014-10-15 01:35 -0700
Re: Jython or Pyton issue-- Kindly Help me.... Peter Otten <__peter__@web.de> - 2014-10-15 11:04 +0200
| From | Venugopal Reddy <venugopal.reddy@tspl.com> |
|---|---|
| Date | 2014-10-13 04:39 -0700 |
| Subject | Jython or Pyton issue-- Kindly Help me.... |
| Message-ID | <91eb3378-958d-45e0-8741-a800ae681260@googlegroups.com> |
Dear All,
How to write a program for reading or parsing the XML file in Sub root Wise.
For ex:
Below XMl, I want to read/ parse first country details and here also two year tag values are there.. Here I need to read/parse first year value only measn '2008' Only..After that I need to read second country details.
Please help me .. i am struggling to get this solution..
<?xml version="1.0"?>
<data>
<country name="Liechtenstein">
<rank>1</rank>
<year>2008</year>
<year>2009></year>
<gdppc>141100</gdppc>
<neighbor name="Austria" direction="E"/>
<neighbor name="Switzerland" direction="W"/>
</country>
<country name="Singapore">
<rank>4</rank>
<year>2011</year>
<gdppc>59900</gdppc>
<neighbor name="Malaysia" direction="N"/>
</country>
<country name="Panama">
<rank>68</rank>
<year>2011</year>
<gdppc>13600</gdppc>
<neighbor name="Costa Rica" direction="W"/>
<neighbor name="Colombia" direction="E"/>
</country>
</data>
[toc] | [next] | [standalone]
| From | Ian Kelly <ian.g.kelly@gmail.com> |
|---|---|
| Date | 2014-10-13 09:43 -0600 |
| Subject | Re: Jython or Pyton issue-- Kindly Help me.... |
| Message-ID | <mailman.14825.1413215053.18130.python-list@python.org> |
| In reply to | #79043 |
On Mon, Oct 13, 2014 at 5:39 AM, Venugopal Reddy <venugopal.reddy@tspl.com> wrote: > Dear All, > > How to write a program for reading or parsing the XML file in Sub root Wise. I don't know what "Sub root Wise" is. You can find an overview of Python's XML parsing interfaces at https://docs.python.org/2/library/xml.html. I would recommend using the ElementTree API unless you have a specific reason to use something else.
[toc] | [prev] | [next] | [standalone]
| From | Venugopal Reddy <venugopal.reddy@tspl.com> |
|---|---|
| Date | 2014-10-14 02:46 -0700 |
| Subject | Re: Jython or Pyton issue-- Kindly Help me.... |
| Message-ID | <552277f6-fb5b-44de-a0d4-7c7fe480d265@googlegroups.com> |
| In reply to | #79051 |
Ok, I will explain my problem in details :
I have below XML:
<?xml version="1.0"?>
<data>
<country name="Liechtenstein">
<rank>1</rank>
<year>2008</year>
<year>2009></year>
<gdppc>141100</gdppc>
<neighbor name="Austria" direction="E"/>
<neighbor name="Switzerland" direction="W"/>
</country>
<country name="Singapore">
<rank>4</rank>
<year>2011</year>
<gdppc>59900</gdppc>
<neighbor name="Malaysia" direction="N"/>
</country>
<country name="Panama">
<rank>68</rank>
<year>2011</year>
<gdppc>13600</gdppc>
<neighbor name="Costa Rica" direction="W"/>
<neighbor name="Colombia" direction="E"/>
</country>
</data>
From I want output below format:
Countryname Rank Year gdppc
Liechtenstein 1 2008 141100
Singapore 4 2011 59900
Panama 68 2011 13600
Please help how to do it..
On Monday, October 13, 2014 9:14:27 PM UTC+5:30, Ian wrote:
> On Mon, Oct 13, 2014 at 5:39 AM, Venugopal Reddy
>
> <venugopal.reddy@tspl.com> wrote:
>
> > Dear All,
>
> >
>
> > How to write a program for reading or parsing the XML file in Sub root Wise.
>
>
>
> I don't know what "Sub root Wise" is. You can find an overview of
>
> Python's XML parsing interfaces at
>
> https://docs.python.org/2/library/xml.html. I would recommend using
>
> the ElementTree API unless you have a specific reason to use something
>
> else.
[toc] | [prev] | [next] | [standalone]
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Date | 2014-10-14 12:43 +0200 |
| Subject | Re: Jython or Pyton issue-- Kindly Help me.... |
| Message-ID | <mailman.14843.1413283448.18130.python-list@python.org> |
| In reply to | #79083 |
Venugopal Reddy wrote:
> Ok, I will explain my problem in details :
>
> I have below XML:
>
> <?xml version="1.0"?>
> <data>
> <country name="Liechtenstein">
> <rank>1</rank>
> <year>2008</year>
> <year>2009></year>
> <gdppc>141100</gdppc>
> <neighbor name="Austria" direction="E"/>
> <neighbor name="Switzerland" direction="W"/>
> </country>
> <country name="Singapore">
> <rank>4</rank>
> <year>2011</year>
> <gdppc>59900</gdppc>
> <neighbor name="Malaysia" direction="N"/>
> </country>
> <country name="Panama">
> <rank>68</rank>
> <year>2011</year>
> <gdppc>13600</gdppc>
> <neighbor name="Costa Rica" direction="W"/>
> <neighbor name="Colombia" direction="E"/>
> </country>
> </data>
>
>
> From I want output below format:
>
> Countryname Rank Year gdppc
> Liechtenstein 1 2008 141100
> Singapore 4 2011 59900
> Panama 68 2011 13600
>
> Please help how to do it..
Read up on elementtree:
http://pymotw.com/2/xml/etree/ElementTree/parse.html
You can load the data from the file with parse(), get the countries with
findall(), the name with country_node.attrib["name"], and rank, year and
gdppc with country_node.find("rank").text etc.
If you run into problems come back with some code of yours.
[toc] | [prev] | [next] | [standalone]
| From | Venugopal Reddy <venugopal.reddy@tspl.com> |
|---|---|
| Date | 2014-10-14 22:42 -0700 |
| Subject | Re: Jython or Pyton issue-- Kindly Help me.... |
| Message-ID | <0c8200cc-5ae7-4fd9-9dd6-903802fc5bb7@googlegroups.com> |
| In reply to | #79086 |
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.
Please please please help on this .. am struggling sice one week sir...
On Tuesday, October 14, 2014 4:14:19 PM UTC+5:30, Peter Otten wrote:
> Venugopal Reddy wrote:
>
>
>
> > Ok, I will explain my problem in details :
>
> >
>
> > I have below XML:
>
> >
>
> > <?xml version="1.0"?>
>
> > <data>
>
> > <country name="Liechtenstein">
>
> > <rank>1</rank>
>
> > <year>2008</year>
>
> > <year>2009></year>
>
> > <gdppc>141100</gdppc>
>
> > <neighbor name="Austria" direction="E"/>
>
> > <neighbor name="Switzerland" direction="W"/>
>
> > </country>
>
> > <country name="Singapore">
>
> > <rank>4</rank>
>
> > <year>2011</year>
>
> > <gdppc>59900</gdppc>
>
> > <neighbor name="Malaysia" direction="N"/>
>
> > </country>
>
> > <country name="Panama">
>
> > <rank>68</rank>
>
> > <year>2011</year>
>
> > <gdppc>13600</gdppc>
>
> > <neighbor name="Costa Rica" direction="W"/>
>
> > <neighbor name="Colombia" direction="E"/>
>
> > </country>
>
> > </data>
>
> >
>
> >
>
> > From I want output below format:
>
> >
>
> > Countryname Rank Year gdppc
>
> > Liechtenstein 1 2008 141100
>
> > Singapore 4 2011 59900
>
> > Panama 68 2011 13600
>
> >
>
> > Please help how to do it..
>
>
>
> Read up on elementtree:
>
>
>
> http://pymotw.com/2/xml/etree/ElementTree/parse.html
>
>
>
> You can load the data from the file with parse(), get the countries with
>
> findall(), the name with country_node.attrib["name"], and rank, year and
>
> gdppc with country_node.find("rank").text etc.
>
>
>
> If you run into problems come back with some code of yours.
[toc] | [prev] | [next] | [standalone]
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Date | 2014-10-15 09:32 +0200 |
| Subject | Re: Jython or Pyton issue-- Kindly Help me.... |
| Message-ID | <mailman.14875.1413358370.18130.python-list@python.org> |
| In reply to | #79135 |
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.
[toc] | [prev] | [next] | [standalone]
| From | Venugopal Reddy <venugopal.reddy@tspl.com> |
|---|---|
| Date | 2014-10-15 01:35 -0700 |
| Subject | Re: Jython or Pyton issue-- Kindly Help me.... |
| Message-ID | <9266b258-3ee0-4f98-88ee-9849ac9abb2b@googlegroups.com> |
| In reply to | #79140 |
Thanks for Help Sir,
Am using " for feature in tree.findall(
".//{urn:ford/interface/VehicleOrder/LegacyFeatureMapping/v2}PortInstalledOptionFeature"): ) "
Please sir help me
Here also this findall Method is not return any list values.
On Wednesday, October 15, 2014 1:03:00 PM UTC+5:30, Peter Otten wrote:
> 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.
[toc] | [prev] | [next] | [standalone]
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Date | 2014-10-15 11:04 +0200 |
| Subject | Re: Jython or Pyton issue-- Kindly Help me.... |
| Message-ID | <mailman.14877.1413363868.18130.python-list@python.org> |
| In reply to | #79143 |
Venugopal Reddy wrote:
> Thanks for Help Sir,
>
> Am using " for feature in tree.findall(
> ".//{urn:ford/interface/VehicleOrder/LegacyFeatureMapping/v2}PortInstalledOptionFeature"):
> ) "
>
> Please sir help me
>
> Here also this findall Method is not return any list values.
OK, I tried it:
$ cat xml_werscode.py
from xml.etree import ElementTree as ET
data = """<?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>
"""
tree = ET.fromstring(data)
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)
$ python xml_werscode.py
AA5K8
AA5MA
As you can see I do get the expected output. I am sorry I have no idea what
you might be doing wrong.
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.python
csiph-web