以字符串的形式从xml中获取所需的元素

时间:2016-05-11 13:52:21

标签: python xml soap

我收到了这个xml SOAP响应:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
    <ns2:AvailabilityResponse xmlns:ns2="http://www.derbysoft.com/doorway" Status="Successful" Token="87348a9665ffc984abf37329">
        <ns2:Availabilities>
            <ns2:Availability CurrencyCode="USD" HotelCode="HY-CHIRC">
                <ns2:GuestCount AdultCount="1" ChildCount="0"/>
                <ns2:RoomTypes>
                    <ns2:RoomType RoomTypeCode="KING" RoomTypeName="1 King Bed">
                        <ns2:RoomTypeDescription>1 King Bed; 1 Grand Bed:Ihome Station:Large Plasma Tv:; Large Workdesk:Comp Gym</ns2:RoomTypeDescription>
                    </ns2:RoomType>
                    <ns2:RoomType RoomTypeCode="DLXK" RoomTypeName="High Floor King">
                        <ns2:RoomTypeDescription>High Floor King; Guaranteed High Floor-25th and Up:350 Sq Ft; 1 King Grand Bed:Oversized Workdesk:Free Wifi</ns2:RoomTypeDescription>
                    </ns2:RoomType>
                    <ns2:RoomType RoomTypeCode="VW1K" RoomTypeName="Premium View King">
                        <ns2:RoomTypeDescription>Premium View King; 1 King Bed:Ihome Station:Large Plasma Tv:; Large Workdesk:Comp Gym</ns2:RoomTypeDescription>
                    </ns2:RoomType>
                    <ns2:RoomType RoomTypeCode="CLBK" RoomTypeName="Regency Club King">
                        <ns2:RoomTypeDescription>Regency Club King; Comp Contl Breakfast:Hors D Oeuvres and Dessert:; Exclusive Club Lounge With View</ns2:RoomTypeDescription>
                    </ns2:RoomType>
                    <ns2:RoomType RoomTypeCode="QNQN" RoomTypeName="2 Queen Beds">
                        <ns2:RoomTypeDescription>2 Queen Beds; 2 Queen Grand Beds:Ihome Station:Plasma Tv:; Large Workdesk:Comp Gym</ns2:RoomTypeDescription>
                    </ns2:RoomType>
                    <ns2:RoomType RoomTypeCode="VW2Q" RoomTypeName="Premium View 2 Qen">
                        <ns2:RoomTypeDescription>Premium View 2 Qen; 2 Queen Beds:Ihome Station:Large Plasma Tv:; Large Workdesk:Comp Gym</ns2:RoomTypeDescription>
                    </ns2:RoomType>
                    <ns2:RoomType RoomTypeCode="CLBD" RoomTypeName="Regency Club 2 Double Beds Bd">
                        <ns2:RoomTypeDescription>Regency Club 2 Double Beds Bd; Comp Contl Breakfast:Hors D Oeuvres and Dessert:; Exclusive Club Lounge With View</ns2:RoomTypeDescription>
                    </ns2:RoomType>
                    <ns2:RoomType RoomTypeCode="DLXD" RoomTypeName="High Fl 2 Double">
                        <ns2:RoomTypeDescription>High Fl 2 Double; Guaranteed High Floor-25th and Up:350 Sq Ft; 2 Double Beds:Oversized Workdesk:Free Wifi</ns2:RoomTypeDescription>
                    </ns2:RoomType>
                </ns2:RoomTypes>
                <ns2:RatePlans>
                    <ns2:RatePlan RatePlanCode="49584IPRTF" RatePlanName="Partner Rate">
                        <ns2:RatePlanDescription/>
                        <ns2:CancelPolicy NonRefundable="false">
                            <ns2:Description>CXL 24HRS PRIOR TO ARRIVAL TO AVOID 1NT PNLTY</ns2:Description>
                            <ns2:CancelPenalties>
                                <ns2:CancelPenalty MaxHoursBeforeCheckIn="24" MinHoursBeforeCheckIn="0" Nights="1" NoShow="false"/>
                                <ns2:CancelPenalty Nights="1" NoShow="true"/>
                            </ns2:CancelPenalties>
                        </ns2:CancelPolicy>
                    </ns2:RatePlan>
                    <ns2:RatePlan RatePlanCode="49584WPAWAF" RatePlanName="Bed And Breakfast">
                        <ns2:RatePlanDescription/>
                        <ns2:CancelPolicy NonRefundable="false">
                            <ns2:Description>CXL 24HRS PRIOR TO ARRIVAL TO AVOID 1NT PNLTY</ns2:Description>
                            <ns2:CancelPenalties>
                                <ns2:CancelPenalty MaxHoursBeforeCheckIn="24" MinHoursBeforeCheckIn="0" Nights="1" NoShow="false"/>
                                <ns2:CancelPenalty Nights="1" NoShow="true"/>
                            </ns2:CancelPenalties>
                        </ns2:CancelPolicy>
                    </ns2:RatePlan>
                </ns2:RatePlans>
                <ns2:RoomRates>
                    <ns2:RoomRate RatePlanCode="49584IPRTF" RoomTypeCode="KING">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="238.480" AmountBeforeTax="203.150" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584IPRTF" RoomTypeCode="DLXK">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="258.430" AmountBeforeTax="220.150" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584IPRTF" RoomTypeCode="VW1K">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="278.390" AmountBeforeTax="237.150" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584IPRTF" RoomTypeCode="CLBK">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="303.340" AmountBeforeTax="258.400" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584IPRTF" RoomTypeCode="QNQN">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="238.480" AmountBeforeTax="203.150" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584IPRTF" RoomTypeCode="VW2Q">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="278.390" AmountBeforeTax="237.150" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584IPRTF" RoomTypeCode="CLBD">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="303.340" AmountBeforeTax="258.400" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584WPAWAF" RoomTypeCode="KING">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="268.410" AmountBeforeTax="228.650" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584WPAWAF" RoomTypeCode="DLXK">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="278.390" AmountBeforeTax="237.150" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584WPAWAF" RoomTypeCode="VW1K">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="298.350" AmountBeforeTax="254.150" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584WPAWAF" RoomTypeCode="QNQN">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="258.430" AmountBeforeTax="220.150" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584WPAWAF" RoomTypeCode="DLXD">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="278.390" AmountBeforeTax="237.150" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                    <ns2:RoomRate RatePlanCode="49584WPAWAF" RoomTypeCode="VW2Q">
                        <ns2:Rates>
                            <ns2:Rate AmountAfterTax="298.350" AmountBeforeTax="254.150" EffectiveDate="2016-05-12" ExpireDate="2016-05-13"/>
                        </ns2:Rates>
                    </ns2:RoomRate>
                </ns2:RoomRates>
            </ns2:Availability>
        </ns2:Availabilities>
    </ns2:AvailabilityResponse>
</SOAP-ENV:Body>

现在我只想以字符串的形式获取'CancelPolicy'元素。另外,我不希望所有的CancelPolicy元素都基于'RatePlanCode'和'RoomTypeCode'。

我怎么能解决这个问题。感谢

0 个答案:

没有答案
相关问题