2017-06-12 5 views
-3

doc = GetSecureXDocument ("https://www.predictit.org/api/marketdata/all");XAttribute null, obwohl es dort ist?

  List <MarketContract> contracts = doc.Root.Element("Markets").Elements("MarketData").Elements("Contracts").Elements("MarketContract").Select(x => new MarketContract 
     { 
      //ID = int.Parse((string)x.Attribute("ID")), 
      URL = (string)x.Attribute("URL"), 
      Name = (string)x.Attribute("Name"), 
      LongName = (string)x.Attribute("LongName"), 
      ShortName = (string)x.Attribute("ShortName"), 
      TickerSymbol = (string)x.Attribute("TickerSymbol"), 
      Status = (string)x.Attribute("Status"), 
      /*BestBuyNoCostInCents = int.Parse((string)x.Attribute("BestBuyNoCost")), 
      BestBuyYesCostInCents = int.Parse((string)x.Attribute("BestBuyYesCost")), 
      BestSellNoCostInCents = int.Parse((string)x.Attribute("BestSellNoCost")), 
      BestSellYesCostInCents = int.Parse((string)x.Attribute("BestSellYesCost"))*/ 
     }).ToList(); 

Die kommentierten aus Abschnitten werfen nullargumentexceptions, und wenn die Werte der URL, Name usw. Longname gedruckt werden, sind sie alle gleich Null.

Hier ist der Wert von ‚x‘ in dem Lambda während eines Laufes:

<MarketContract> 
    <ID>3414</ID> 
    <DateEnd>N/A</DateEnd> 
    <Image>https://az620379.vo.msecnd.net/images/Contracts/small_f6d2f26b-8055-45a3-872f-0796dc47e238.png</Image> 
    <URL>https://www.predictit.org/Contract/3414/Will-a-Democratic-candidate-win-the-2017-Virginia-gubernatorial-race</URL> 
    <Name>Democratic</Name> 
    <LongName>Will a Democratic candidate win the 2017 Virginia gubernatorial race?</LongName> 
    <ShortName>Democratic</ShortName> 
    <TickerSymbol>DEM.VAGOV17</TickerSymbol> 
    <Status>Open</Status> 
    <LastTradePrice>0.75</LastTradePrice> 
    <BestBuyYesCost>0.78</BestBuyYesCost> 
    <BestBuyNoCost>0.26</BestBuyNoCost> 
    <BestSellYesCost>0.74</BestSellYesCost> 
    <BestSellNoCost>0.22</BestSellNoCost> 
    <LastClosePrice>0.75</LastClosePrice> 
</MarketContract> 

Das mit XML meinem ersten Mal zu tun, und wenn jemand helfen könnte, das wäre sehr dankbar!

+0

Ich hoffe, Sie haben festgestellt, dass Sie in der gleichen Dokumentation der API, die in der vorherigen Frage aufgeführt ist, eine Kopfzeile hinzufügen können, um mit JSON zu arbeiten, wenn Sie Probleme mit XML haben. – Nkosi

+0

was ist json? So etwas habe ich noch nie gemacht ... –

Antwort

1

Das sind Elemente, keine Attribute.

Ein Attribut ist ein name="value" Paar in einem Start-Tag.

Verwandte Themen