Avatar billede fiskerendk Nybegynder
28. november 2013 - 14:11 Der er 3 kommentarer og
1 løsning

XDocument og For Each

Hej,

Jeg ville høre om nogen kunne hjælpe mig med en lille udfordring. Jeg er netop begyndt at bruge XDocument fordi det er krævet i Windows Store Apps og kan ikke rigtig bruge xmlDocument mere.

Men jeg kan ik rigtig få det til at virke som jeg ville:
Uanset syntes jeg hvad jeg gør så kan jeg ikke lave For Each på en foreach. mit problem er at jeg i XML filen har flere niveauer.
f.eks.
<Devices>
<Device id="01">
  ...
  <Alarm id="01">
  ...
  </Alarm>
</Device>
<Device id="02">
  ...
  <Alarm id="300">
  ...
  </Alarm>
</Device>
</Devices>

Det der er i det det er at jeg skal lave et loop for hvilken device har vi med at gøre ID 01 så skal jeg have et loop for kun de alarmer. Men jeg har forsøgt en masse men ligemeget om det er ID 01 eller 02 så viser den samme Alarm ID'er og ikke kun dem neden under Device 01.

Nogen der har en ide til det:

        Dim xDoc As XDocument = XDocument.Load("Assets/devices.xml")
        Dim xmlDevices = xDoc.Root.Elements("Device")
        For Each xmlDevice In xmlDevices
            If xmlDevice.Attribute("id").Value = "01" Then

                Dim xmlAlarms = xmlDevices.Descendants("Alarm")
                For Each xmlAlarm In xmlAlarms
                    test = test & xmlAlarm.Attribute("id").Value
                Next
            End If
        Next


Med Venlig Hilsen
Thomas Nissen
Avatar billede Spotgun Seniormester
28. november 2013 - 14:57 #1
Prøv at rette:
Dim xmlAlarms = xmlDevices.Descendants("Alarm")
til
Dim xmlAlarms = xmlDevice.Descendants("Alarm")
Avatar billede fiskerendk Nybegynder
28. november 2013 - 15:25 #2
Jamen utroligt man sidder og kigger på det i timevis og kan slet ikke forstå hvad der er galt. :) men tak. det var super. nu virker det.. Smid et svar.
Avatar billede Spotgun Seniormester
28. november 2013 - 15:32 #3
Jeg kender det alt for godt selv :)
Avatar billede arne_v Ekspert
28. november 2013 - 22:20 #4
Det kan godt vaere svaert at finde den slags med den navne konvention.

Jeg kan anbefale at man fremfor foobars/foobar bruger allfoobars/foobar eller allfoobars/onefoobar.
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