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.0k

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

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

  • Neues Video über Aliase, virtuelle Geräte und Kategorien
    BluefoxB
    Bluefox
    25
    1
    1.3k

[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.
  • S Offline
    S Offline
    sveni_lee
    wrote on last edited by
    #2

    ich hab's jetzt mal mit "try and error" probiert aber ich bekomme einfach kein Ergebnis

     var xmlstring ='';
     var xml2js = require('xml2js');
     var parser = new xml2js.Parser();
    
     on({id:"onkyo-vis.0.net-usb-list-info-allitems", change: "any"}, function (obj) {
        xmlstring = getState("onkyo-vis.0.net-usb-list-info-allitems").val;
        parser.parseString(xmlstring, function (err, result) {
            log('RESULT: '+ result['response']['items']);
            });
    
    });    
    
    

    ich bekomme aber kein ergebniss, sondern nur javascript.0 2018-07-02 16:07:18.119 info script.js.common.Onkyo_Player: RESULT: [object Object]

    ich komm einfach nicht darauf wie ich an die Attribute icontype und title komme…

    EDIT:

    kleiner schritt nach vorn... log('RESULT= ' + JSON.stringify(result)); gibt mit etwas aus…

    1 Reply Last reply
    0
    • 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

                              603

                              Online

                              32.4k

                              Users

                              81.3k

                              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