Avatar billede MartinLauritsen Nybegynder
22. juni 2015 - 10:50 Der er 1 løsning

lige et spørgsmål til noget udregning c#, xml

hej jeg sidder og leger lidt med at lave en lille kurv, skal siges jeg er lidt ny til alt det med shop. Jeg har lavet en kode hvor jeg bruger en xml fil som jeg giver en id for hver parent node jeg skal bruge, hvori der ligger de childnodes jeg skal hive data ud fra. Jeg kan godt få kurven til t at virke hvis jeg hiver hver enkelt node i xml nodelist. Men da jeg selvfølgelig ikke gider lave en foreach løkke for hver eneste produkt men gerne brue den samme foreach. Jeg har har prøvet at lave en med count int = 1; og sige + count efter min parent node. Men virker sgu ikke helt. og når jeg sletter produkt så gider den hellere ikke trække fra mere i min litTotal

  //int count = 1;   
        XmlNodeList nodeListADDon1 = doc.SelectNodes("TourInfo/AddOns/AddOn[@Id='addon']");// har prøvet at sige + count
       
        foreach (XmlNode nodeA in nodeListADDon1)
        {
            string addon = Request.Form["txtAddonAntal"];//har prøvet at sige plus count da mine input felter alle har unikt id txtAddonAntal 1-2-3 osv...
            string addonOffer = nodeA["AddonPriceOffers"].InnerText;//lægger inde i parent node Addon

            if (string.IsNullOrEmpty(addonOffer.ToString()))// hvis tilbud er tomt så skal du bruge standard pris
            {
                antalAdd0 = int.Parse(addon.ToString());
                pris = int.Parse(nodeA["AddonPrice"].InnerText);
                ansver = antalAdd0 * pris;         
            }


            else
            {
               
                pris = int.Parse(nodeA["AddonPriceOffers"].InnerText);// ellers brug tilbud
                antalAdd0 = int.Parse(addon.ToString());
                ansver = antalAdd0 * pris;           
             
               
               
            }
           
            if (string.IsNullOrEmpty(addon.ToString()))//prøver at tømme strings, "VIRKER ikke efter jeg puttet tilbud på"
            {
                addon = "";
                litAdd.Text = "";
                total =  - ansver;
               
                }
            else
            {
                total = ansver;
                litAdd.Text = "<table class='table table-condensed'><tr>" + "<td>" + nodeA["AddonText"].InnerText + "</td>" + "<td>" + antalAdd0 + "</td>" + "<td>Pris:&nbsp;" + ansver.ToString() + "&nbsp;kr</td>" + "</tr></table>";
                litTotal.Text = total.ToString() + "&nbsp;kr";
            }
            //counts++;
            }
         
     
        }

denne metode virker men hiver noden alene, og det bliver alt for meget kode

//XmlNodeList nodeListADDon2 = doc.SelectNodes("TourInfo/AddOns/AddOn[@Id='addon2']");

            //foreach (XmlNode node2 in nodeListADDon2)
            //{


            //    string addon2 = Request.Form["txtAddonAntal1"];
            //    if (string.IsNullOrEmpty(addon2.ToString()))
            //    {
            //        addon2 = "";
            //        litAdd2.Text = "";
            //        total = ansver - ansver2 - ansver3;
            //    }
            //    else
            //    {
            //        pris2 = int.Parse(node2["AddonPrice"].InnerText);

            //        antalAdd1 = int.Parse(addon2.ToString());
            //        ansver2 = antalAdd1 * pris2;
            //        litAdd2.Text = "<table class='table table-condensed'><tr>" + "<td>" + node2["AddonText"].InnerText + "</td>" + "<td>" + antalAdd1 + "</td>" + "<td>Pris:&nbsp;" + ansver2.ToString() + "&nbsp;kr</td>" + "</tr></table>";

            //        total = ansver + ansver2;

            //    }
Avatar billede MartinLauritsen Nybegynder
22. juni 2015 - 20:56 #1
fixed
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester