语法code从API类检索数据不正常 [英] Syntax Code to Retrieve Data from API to Class do not working properly

查看:238
本文介绍了语法code从API类检索数据不正常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不能检索annonsid,annonsrubic等从API值到类annons。我不知道我错过了什么零件或语法。

 私有静态列表< annons> myListAnnons =新的List< annons>();    私有静态annons _myAnnons =新annons();    使用(Web客户端的客户端=新的WebClient())
    {
        client.Headers.Add(接受语言,EN-US);
        client.Headers.Add(接受,应用程序/ XML);
        client.Headers.Add(用户代理,Mozilla的/ 5.0(兼容; MSIE 9.0; Windows NT的6.1;三叉戟/ 5.0));        XML = XDocument.Parse(client.DownloadString(\"http://api.arbetsformedlingen.se/af/v0/platsannonser/6309046\");    }
    xml.Root.Descendants(platsannons)了ToList()的ForEach(LI =过夜。;
    {
        annons _myAnnons =新annons();
        。_myAnnons.annonsid = li.Element(annonsid)值;
        。_myAnnons.annonsrubrik = li.Element(annonsrubrik)值;
        。_myAnnons.annonstext = li.Element(annonstext)值;
        。_myAnnons.antal_platser = li.Element(antal_platser)值;
        _myAnnons.antalplatserVisa = li.Element(antalplatserVisa)值。
        。_myAnnons.arbetsplatsnamn = li.Element(arbetsplatsnamn)值;
        。_myAnnons.arbetstid = li.Element(arbetstid)值;
        。_myAnnons.arbetstidvaraktighet = li.Element(arbetstidvaraktighet)值;
        。_myAnnons.besoksadress = li.Element(besoksadress)值;
        。_myAnnons.egenbil = li.Element(egenbil)值;
        。_myAnnons.epostadress = li.Element(epostadress)值;
        _myAnnons.hemsida = li.Element(hemsida)值。
        。_myAnnons.kommunnamn = li.Element(kommunnamn)值;
        。_myAnnons.land = li.Element(陆地)的价值;
        。_myAnnons.logotypurl = li.Element(logotypurl)值;
        。_myAnnons.loneform = li.Element(loneform)值;
        。_myAnnons.lonetyp = li.Element(lonetyp)值;
        _myAnnons.namn = li.Element(NAMN)值。
        。_myAnnons.postadress = li.Element(postadress)值;
        。_myAnnons.postland = li.Element(postland)值;
        。_myAnnons.postnummer = li.Element(postnummer)值;
        。_myAnnons.postort = li.Element(postort)值;
        。_myAnnons.publiceraddatum = li.Element(publiceraddatum)值;
        _myAnnons.referens = li.Element(referens)值。
        。_myAnnons.sista_ansokningsdag = li.Element(sista_ansokningsdag)值;
        。_myAnnons.telefonnummer = li.Element(telefonnummer)值;
        。_myAnnons.titel = li.Element(影片名称)值;
        。_myAnnons.varaktighet = li.Element(varaktighet)值;
        _myAnnons.webbplats = li.Element(webbplats)值。
        。_myAnnons.yrkesbenamning = li.Element(yrkesbenamning)值;
        。_myAnnons.yrkesid = li.Element(yrkesid)值;        myListAnnons.Add(_myAnnons);
    });
    公共类annons
    {
        公共字符串annonsid;
        公共字符串annonsrubrik;
        公共字符串annonstext;
        公共字符串yrkesbenamning;
        公共字符串yrkesid;
        公共字符串publiceraddatum;
        公共字符串antal_platser;
        公共字符串kommunnamn;
        公共字符串antalplatserVisa;
        公共字符串varaktighet;
        公共字符串arbetstid;
        公共字符串arbetstidvaraktighet;
        公共字符串lonetyp;
        公共字符串loneform;
        公共字符串referens;
        公共字符串webbplats;
        公共字符串epostadress;
        公共字符串sista_ansokningsdag;
        公共字符串arbetsplatsnamn;
        公共字符串postnummer;
        公共字符串postadress;
        公共字符串postort;
        公共字符串postland;
        公共字符串的土地;
        公共字符串besoksadress;
        公共字符串logotypurl;
        公共字符串hemsida;
        公共字符串NAMN;
        公共字符串Titel的;
        公共字符串telefonnummer;
        公共字符串egenbil;
    }


解决方案

您code

  xml.Root.Descendants(platsannons)。了ToList()...

给出了一个空列表。 platsannons元素你已经有了名称。您code试图找到后裔这个名字 - 并且有失败。

,如果你更换工作原理

  xml.Root.Descendants()了ToList()...

I cannot retrieve the value of annonsid, annonsrubic etc from the API into the class annons. I don't know what part or syntax I'm missing.

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

    private static annons _myAnnons = new annons();

    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("platsannons").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.arbetsplatsnamn = li.Element("arbetsplatsnamn").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 arbetsplatsnamn;
        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;
    }

解决方案

Your code

xml.Root.Descendants("platsannons").ToList()...

gives an empty list. "platsannons" is the name of the root element you already have. Your code tries to find descendants with this name - and has to fail.

It works if you replace it with

xml.Root.Descendants().ToList()...

这篇关于语法code从API类检索数据不正常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆