Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

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

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

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
15 Beiträge 2 Kommentatoren 918 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    sveni_lee
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        sveni_lee
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            sveni_lee
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                sveni_lee
                schrieb am zuletzt editiert von
                #8

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

                DANKE!

                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    sveni_lee
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        sveni_lee
                        schrieb am zuletzt editiert von
                        #12

                        nein, das tut es ja eben nicht… :cry:

                        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 Antwort Letzte Antwort
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            sveni_lee
                            schrieb am zuletzt editiert von
                            #14

                            perfekt… Danke

                            mal schaun ob ich damit weiter komme...

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              sveni_lee
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              464

                              Online

                              32.4k

                              Benutzer

                              81.5k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe