Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst]wie richtig einsetzen? npm Modul xml-js

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

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

Scheduled Pinned Locked Moved Skripten / Logik
15 Posts 2 Posters 918 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #3

    Wenn das Objekt result im Log angezeigt werden soll, muss es in einen JSON-String konvertiert werden.

            log('RESULT: '+ JSON.stringify(result['response']['items']));
    
    

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Reply Last reply
    0
    • S Offline
      S Offline
      sveni_lee
      wrote on last edited by
      #4

      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
      0
      • paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #5

        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]
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Reply Last reply
        0
        • S Offline
          S Offline
          sveni_lee
          wrote on last edited by
          #6

          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
          0
          • paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #7

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

            Ich habe es damit erfolgreich getestet.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Reply Last reply
            0
            • S Offline
              S Offline
              sveni_lee
              wrote on last edited by
              #8

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

              DANKE!

              1 Reply Last reply
              0
              • paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by
                #9

                @sveni_lee:

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

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  sveni_lee
                  wrote on last edited by
                  #10

                  @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
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #11

                    @sveni_lee:

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

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      sveni_lee
                      wrote on last edited by
                      #12

                      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
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by
                        #13
                        `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]
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          sveni_lee
                          wrote on last edited by
                          #14

                          perfekt… Danke

                          mal schaun ob ich damit weiter komme...

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            sveni_lee
                            wrote on last edited by
                            #15

                            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
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            390

                            Online

                            32.4k

                            Users

                            81.4k

                            Topics

                            1.3m

                            Posts
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            ioBroker Community 2014-2025
                            logo
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Recent
                            • Tags
                            • Unread 0
                            • Categories
                            • Unreplied
                            • Popular
                            • GitHub
                            • Docu
                            • Hilfe