Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst]wie richtig einsetzen? npm Modul xml-js

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst]wie richtig einsetzen? npm Modul xml-js

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sveni_lee last edited by

      ja… danke. Jetzt habe ich eine Ergebniss...

      [{'/r>:{'offset':'0','totalitems':'3'},'item':[{'/r>:{'icontype':'N','iconid':'2b','title':'GOTHAM-CITY'}},{'/r>:{'icontype':'N','iconid':'2b','title':'FRITZ-NAS'}},{'/r>:{'icontype':'N','iconid':'2b','title':'TABLET'}}]}]
      

      wie kann dieses Objekt in einer for-schleife auswerten?

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        Das ist ein Array im Array. Angenommen der Variablenname ist obj, dann versuche es mal so:

        `var item = obj[0].item;
        for(let i = 0; i < item.length; i++) {
           log('Titel' + (i+1) + ': ' + item[i].$.title);
        }`
        
        EDIT: Korrigiert (.$ eingefügt).[/i]
        
        1 Reply Last reply Reply Quote 0
        • S
          sveni_lee last edited by

          hmm… das wirft bei mir einen Fehler aus...

          Error in callback: Error: Uncaught, unspecified "error" event. (TypeError: Cannot read property 'item' of undefined
          
          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            Hast Du das Objekt verwendet, das mittels JSON.stringify() im Log ausgegeben wurde ?

            Ich habe es damit erfolgreich getestet.

            1 Reply Last reply Reply Quote 0
            • S
              sveni_lee last edited by

              :roll: natürlich… genau das war es.. jetzt klappt es...

              DANKE!

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 last edited by

                @sveni_lee:

                jetzt klappt es… `
                Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].

                1 Reply Last reply Reply Quote 0
                • S
                  sveni_lee last edited by

                  @Paul53

                  da ich versuche das ganze jetzt irgendwie in ein Widget zu packen hab ich da noch mal eine Frage,kann ich das ganze in die *js in mein Widget bekommen… ich habe xml2js und parser in den Widget ordner installiert aber irgendwie kommt er mit der Zeile

                  var parser = new xml2js.Parser({ explicitArray: true })
                  

                  nicht klar… muß ich parser auch erst nocht irgendwie mit require aufrufen?

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 last edited by

                    @sveni_lee:

                    ich habe xml2js und parser in den Widget ordner installiert `
                    Das soll funktionieren ??

                    1 Reply Last reply Reply Quote 0
                    • S
                      sveni_lee last edited by

                      nein, das tut es ja eben nicht… 😢

                      meine nächste Idee ist es die xml in ein JSON zu wandeln, das klappt auch schon im Adapter:

                      {"response":{"$":{"status":"ok"},"items":[{"$":{"offset":"0","totalitems":"3"},"item":[{"$":{"icontype":"N","iconid":"2b","title":"TABLET"}},{"$":{"icontype":"N","iconid":"2b","title":"GOTHAM-CITY"}},{"$":{"icontype":"N","iconid":"2b","title":"FRITZ-NAS"}}]}]}}
                      

                      jetzt muss ich nur wieder an die icontype, iconid und title rankommen und das auch wieder in einer schleife…

                      Ich habe zwar schon einiges zu JSON.parse gefunden aber hier ist glaube ich ein Array in einem Array in einem JSON und damit bin ich überfordert…

                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 last edited by

                        `var item = obj.response.items[0].item;
                        for(let i = 0; i < item.length; i++) {
                           log('Titel' + (i+1) + ': ' + item[i].$.title);
                           log('Icontype' + (i+1) + ': ' + item[i].$.icontype);
                        }` [/i][/i]
                        
                        1 Reply Last reply Reply Quote 0
                        • S
                          sveni_lee last edited by

                          perfekt… Danke

                          mal schaun ob ich damit weiter komme...

                          1 Reply Last reply Reply Quote 0
                          • S
                            sveni_lee last edited by

                            hier mal ein kleiner Teilerfolg…

                            ich kann jetzt schon erfolgreich durch Home-Media browsen…

                            ~~![](</s><URL url=)https://i.imgur.com/pltlLQU.jpg" />

                            jetzt muß ich noch irgendwie beides zusammen in ein Widget bringen…~~

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            681
                            Online

                            31.7k
                            Users

                            79.9k
                            Topics

                            1.3m
                            Posts

                            2
                            15
                            872
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo