Avatar billede nat Nybegynder
28. april 2006 - 08:55 Der er 8 kommentarer og
1 løsning

c# xml fra webservice

Hej Eksperter,

Jeg modtager en xml stregn fra en webservice, der se nogenlunde sådan her ud:

<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://www.xx.com/xx/"><ReturnValue><Categories><Category key="xx" value="x1"></Category><Category key="yy" value="y1"></JobCategory></JobCategories></ReturnValue>
</string>

Jeg vil så gerne have attributen value, hvor der f.eks. står x1 eller y1 ind i en dropdownlist, hvordan gør jeg det smartest?

Er der en der kan give mig et kodeeksempel på dette. Jeg har tilføjet WS og lavet en ny instans af den i min kode, men så er jeg gået i stå derfra...
Avatar billede nat Nybegynder
28. april 2006 - 08:56 #1
xml'en ser sådan her ud:

<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://www.xx.com/xx/"><ReturnValue><Categories><Category key="xx" value="x1"></Category><Category key="yy" value="y1"></Category></Categories></ReturnValue>
</string>
Avatar billede arne_v Ekspert
28. april 2006 - 13:06 #2
Bruger du .NET's indbyggede funktionalitet til at få genereret et stub ?
Avatar billede nat Nybegynder
01. maj 2006 - 14:22 #3
et stub? Jeg skal tilgå noget eksternt xml (ikke noget jeg selv har genereret)
Avatar billede dr_chaos Nybegynder
02. maj 2006 - 08:01 #4
Du kan lægge strengen i et xml document og benytte xpath til at få værdier ud.
Avatar billede dr_chaos Nybegynder
02. maj 2006 - 08:03 #5
Avatar billede nat Nybegynder
02. maj 2006 - 09:09 #6
dr_chaos, kan du give et eksempel - forstår ikke lige helt det fra linket
Avatar billede dr_chaos Nybegynder
02. maj 2006 - 17:59 #7
XmlDocument xd = new XmlDocument();
        xd.LoadXml(@"<?xml version='1.0' encoding='utf-8' ?><string xmlns='http://www.xx.com/xx/'><ReturnValue><JobCategories><JobCategory key='xx' value='x1'></JobCategory><JobCategory key='yy' value='y1'></JobCategory></JobCategories></ReturnValue></string>");
       
        XmlNamespaceManager nsmgr = new XmlNamespaceManager(xd.NameTable);
        nsmgr.AddNamespace("ab", "http://www.xx.com/xx/");

        System.Diagnostics.Debug.WriteLine(xd.SelectNodes("//ab:JobCategory/@value", nsmgr).Count);
        foreach (XmlNode xn in xd.SelectNodes("//ab:JobCategory/@value", nsmgr))
        {
            System.Diagnostics.Debug.WriteLine(xn.Value);
        }
Avatar billede nat Nybegynder
10. maj 2006 - 11:46 #8
Tak dr_chaos smider du et svar :)
Avatar billede dr_chaos Nybegynder
10. maj 2006 - 12:41 #9
svar :)
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
Kategori
Kurser inden for grundlæggende programmering

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