使用API​​检索特定数据时出错

时间:2015-06-07 12:30:37

标签: c# xml api

问题陈述
不知何故,我无法通过以下代码从API的“链接http://api.arbetsformedlingen.se/af/v0/platsannonser/6309046”中检索arbetstid的值。我检索了一条错误消息

  

“{”对象引用未设置为对象的实例。“}”。

但是,API中的arbetstid包含数据。我不知道为了检索数据我缺少什么部分。

其他信息

  • 我强烈建议您查看API链接的内容,然后对该类中的数据进行比较。

  • 完美地检索“annonsid”的值。

  • 我无法从API更改XML结构,因为它是从公共部门创建的。这意味着我必须调整他们创造它的方式。

  • link“什么是NullReferenceException以及如何解决?”没有为我的问题陈述提供解决方案。

  • 源代码已被使用,并且仍然基于另一个上下文工作。不同的是API的URL链接和XML结构。 Link1 Link2

谢谢! enter image description here

    private static List<annons> myListAnnons = new List<annons>();        
    private static annons _myAnnons = new annons();

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    XDocument xml;

    using (WebClient client = new WebClient())
    {
        client.Headers.Add("Accept-Language", " en-US");
        client.Headers.Add("Accept", "application/xml");
        client.Headers.Add("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)");

        xml = XDocument.Parse(client.DownloadString("http://api.arbetsformedlingen.se/af/v0/platsannonser/6309046"));
    }

    xml.Root.Descendants().ToList().ForEach(li =>
    {
        annons _myAnnons = new annons();
        _myAnnons.annonsid = li.Element("annonsid").Value;
        _myAnnons.annonsrubrik = li.Element("annonsrubrik").Value;
        _myAnnons.annonstext = li.Element("annonstext").Value;
        _myAnnons.antal_platser = li.Element("antal_platser").Value;
        _myAnnons.antalplatserVisa = li.Element("antalplatserVisa").Value;
        _myAnnons.arbetstid = li.Element("arbetstid").Value;
        _myAnnons.arbetstidvaraktighet = li.Element("arbetstidvaraktighet").Value;
        _myAnnons.besoksadress = li.Element("besoksadress").Value;
        _myAnnons.egenbil = li.Element("egenbil").Value;
        _myAnnons.epostadress = li.Element("epostadress").Value;
        _myAnnons.hemsida = li.Element("hemsida").Value;
        _myAnnons.kommunnamn = li.Element("kommunnamn").Value;
        _myAnnons.land = li.Element("land").Value;
        _myAnnons.logotypurl = li.Element("logotypurl").Value;
        _myAnnons.loneform = li.Element("loneform").Value;
        _myAnnons.lonetyp = li.Element("lonetyp").Value;
        _myAnnons.namn = li.Element("namn").Value;
        _myAnnons.postadress = li.Element("postadress").Value;
        _myAnnons.postland = li.Element("postland").Value;
        _myAnnons.postnummer = li.Element("postnummer").Value;
        _myAnnons.postort = li.Element("postort").Value;
        _myAnnons.publiceraddatum = li.Element("publiceraddatum").Value;
        _myAnnons.referens = li.Element("referens").Value;
        _myAnnons.sista_ansokningsdag = li.Element("sista_ansokningsdag").Value;
        _myAnnons.telefonnummer = li.Element("telefonnummer").Value;
        _myAnnons.titel = li.Element("titel").Value;
        _myAnnons.varaktighet = li.Element("varaktighet").Value;
        _myAnnons.webbplats = li.Element("webbplats").Value;
        _myAnnons.yrkesbenamning = li.Element("yrkesbenamning").Value;
        _myAnnons.yrkesid = li.Element("yrkesid").Value;

        myListAnnons.Add(_myAnnons);
    });
}
}

public class annons
{
    public String annonsid;
    public String annonsrubrik;
    public String annonstext;
    public String yrkesbenamning;
    public String yrkesid;
    public String publiceraddatum;
    public String antal_platser;
    public String kommunnamn;
    public String antalplatserVisa;
    public String varaktighet;
    public String arbetstid;
    public String arbetstidvaraktighet;
    public String lonetyp;
    public String loneform;
    public String referens;
    public String webbplats;
    public String epostadress;
    public String sista_ansokningsdag;
    public String postnummer;
    public String postadress;
    public String postort;
    public String postland;
    public String land;
    public String besoksadress;
    public String logotypurl;
    public String hemsida;
    public String namn;
    public String titel;
    public String telefonnummer;
    public String egenbil;
} 

0 个答案:

没有答案