Search code examples
xmlxmldocumentxelementbetfair

Reading xml stream


Sorry to be asking such similar question again, I am trying to read the following XML document:

<markets currency="GBP">
  <market id="2908368" nextId="2908395">
    <status>ACTIVE</status>
    <commissionRate>2.5</commissionRate>
    <marketType>ANY_NUMBER_OF_WINNERS</marketType>
    <selections type="MainBets">
      <selection id="658442">
        <name>Player 1</name>
        <resource href="https://api.betfair.com/rest/v1/selection/tradeActivity
           ?username=sampleuser&marketId=2908368&selectionId=658442"
           responseType="selectionTradeActivity" title="Trade Activity"/>
        <status>IN_PLAY</status>   <!-- THIS IS THE VALUE I WANT -->
        <amountMatched>0.0</amountMatched> 
        <bestAvailableToBackPrices/>
        <bestAvailableToLayPrices/>
      </selection>
    </selections>
  </market>
</markets>

There are 4 players each with a value that I want, but I can only get the same status, not each players individual status. Please can someone help me. Many many thanks


Solution

  • you can use xpath here is an example

     XmlDocument xmlDoc;
         XmlNode     xmlNode;
         String      xpathExpr;
    
         xmlDoc = new XmlDocument();
         xmlDoc.LoadXml( "<?xml version='1.0'?><root><person><name>Martin Fowler</name></person><person><name>Kent Beck</name></person><person><name>Dave Astels</name></person></root>" );
    
         xpathExpr = "/root/person[name='Martin Fowler']";
         xmlNode = xmlDoc.SelectSingleNode(xpathExpr);