2017-03-19 8 views
0

私はsoap応答からxmlを読み込もうとしています。それは、私がXMLにLINQを持つ多くのものを試してみたが、何も動いていないようにみえこのXMLから値を読み取る方法

`<OTA_AirLowFareSearchRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.9.2" PricedItinCount="1" BrandedOneWayItinCount="0" SimpleOneWayItinCount="0" DepartedItinCount="0" SoldOutItinCount="0" AvailableItinCount="0"> 
    <Success xmlns="http://www.opentravel.org/OTA/2003/05"/> 
    <Warnings xmlns="http://www.opentravel.org/OTA/2003/05">...</Warnings> 
    <PricedItineraries xmlns="http://www.opentravel.org/OTA/2003/05"> 
     <PricedItinerary SequenceNumber="1"> 
       <AirItinerary DirectionInd="OneWay"> 
         <OriginDestinationOptions> 
           <OriginDestinationOption ElapsedTime="1920"> 
             <FlightSegment DepartureDateTime="2017-03-21T21:45:00" ArrivalDateTime="2017-03-22T09:50:00" StopQuantity="0" FlightNumber="7336" ResBookDesigCode="T" ElapsedTime="425"> 
               <DepartureAirport LocationCode="CDL" TerminalID="1"/> 
               <ArrivalAirport LocationCode="CDA" TerminalID="1A"/> 
               <OperatingAirline Code="AA" FlightNumber="810"/> 
               <Equipment AirEquipType="000"/> 
               <MarketingAirline Code="PP"/> 
               <DisclosureAirline Code="AC"/> 
               <MarriageGrp>O</MarriageGrp> 
               <DepartureTimeZone GMTOffset="-10"/> 
               <ArrivalTimeZone GMTOffset="11"/> 
               <TPA_Extensions> 
                 <eTicket Ind="true"/> 
               </TPA_Extensions> 
             </FlightSegment> 
           </OriginDestinationOption> 
         </OriginDestinationOptions> 
       </AirItinerary> 
     </PricedItinerary> 
</PricedItineraries> 
</OTA_AirLowFareSearchRS>` 

以下の通りです。

ここで私は任意の提案が奨励されるだろう

var xml = XDocument.Parse(stringXMLResponse); 
     var result = from item in xml.Descendants("FlightSegment") 
       select new 
       { 
        v1 = item.FirstAttribute.Value 
       }; 

を使用して試したサンプルです。ありがとうございました。

答えて

1

このようにLINQクエリを記述することができます。要件を調整する必要があるかもしれませんが、XML文字列で動作します。ここで

var selected = from x in xdoc.Descendants() 
       where x.NodeType == XmlNodeType.Element 
       && x.Name.LocalName == "FlightSegment" 
       select x; 

はシオマネキです:https://dotnetfiddle.net/NxkT38

+0

は、いくつかのレオ[リンク](http://imgur.com/gallery/4Ev4dPs)を持って、ここで、ティモンありがとう – Zee

関連する問題